move enabling of foreign key support to onConfigure (#3038)
This way we avoid repeating the code. Unlike getWritableDatabase, onConfigure is intended to be overridden. In fact, onConfigure documentation specifically says: "Called when the database connection is being configured, to enable features such as write-ahead logging or *foreign key support*."
This commit is contained in:
parent
e948d12085
commit
9bff9900d1
|
@ -187,9 +187,13 @@ public class DatabaseBackend extends SQLiteOpenHelper {
|
|||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigure(SQLiteDatabase db) {
|
||||
db.execSQL("PRAGMA foreign_keys=ON");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(SQLiteDatabase db) {
|
||||
db.execSQL("PRAGMA foreign_keys=ON;");
|
||||
db.execSQL("create table " + Account.TABLENAME + "(" + Account.UUID + " TEXT PRIMARY KEY,"
|
||||
+ Account.USERNAME + " TEXT,"
|
||||
+ Account.SERVER + " TEXT,"
|
||||
|
@ -848,13 +852,6 @@ public class DatabaseBackend extends SQLiteOpenHelper {
|
|||
return rows == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SQLiteDatabase getWritableDatabase() {
|
||||
SQLiteDatabase db = super.getWritableDatabase();
|
||||
db.execSQL("PRAGMA foreign_keys=ON;");
|
||||
return db;
|
||||
}
|
||||
|
||||
public boolean updateMessage(Message message, boolean includeBody) {
|
||||
SQLiteDatabase db = this.getWritableDatabase();
|
||||
String[] args = {message.getUuid()};
|
||||
|
|
Loading…
Reference in New Issue