dbflow(v4 +)用の移行スクリプトを作成したいと思います。前のテーブルをすべて削除してから、すべてをゼロから作成します。現在、私たちはこれを行うことができた唯一の方法は、のようなものです:私たちはすべて手動で古いものと新しいテーブルを言及する必要がありようすべての古いテーブルを削除し、dbflowでテーブルを再作成する
@Migration(version = 2, database = AppDatabase.class)
public static class Migration2 extends BaseMigration {
@Override
public void migrate(DatabaseWrapper database) {
ArrayList<ModelAdapter> modelAdapters = new ArrayList<>();
// Old tables
modelAdapters.add(FlowManager.getModelAdapter(Events.class));
modelAdapters.add(FlowManager.getModelAdapter(Notes.class));
// New table
modelAdapters.add(FlowManager.getModelAdapter(User.class));
for (ModelAdapter modelAdapter : modelAdapters) {
database.execSQL("DROP TABLE IF EXISTS " + modelAdapter.getTableName());
database.execSQL(modelAdapter.getCreationQuery());
}
}
}
私はかかわらず、このアプローチが好きではありません。それを行う良い方法はありますか?私のdbは大幅に変更されているので、すべてのテーブルを削除することが唯一の選択肢のようです。
をしかしdbFlowでこれを行う簡単な方法はありますか? –