Когда вы используете fallbackToDestructiveMigration()
, ваш onCreate()
не вызывается, так как ваша БД уже создана.
Но вы можете перестроить все заново, используя миграцию следующим образом:
Room.databaseBuilder(context, MyDatabase.class, DB_NAME)
.addMigrations(FROM_1_TO_2)
.build();
static final Migration FROM_1_TO_2 = new Migration(1, 2) {
@Override
public void migrate(final SupportSQLiteDatabase database) {
database.execSQL("DELETE FROM `table_name`"); //this will empty table
database.execSQL("YOUR_INSERTION_QUERY"); //insert in loop for multiple insertion
}
};
Используя приведенный выше код, вы всегда можете очистить и снова заполнить таблицу при обновлении версии БД.