0
我想了解DBFlow,因爲在我現在工作的項目中,前一個人決定使用它。所以在數據庫類中我有:Android - DBflow遷移腳本
@Database(name = ConstructDB.NAME, version = ConstructDB.VERSION)
public class ConstructDB {
public static final String NAME = "construct_v3";
public static final int VERSION = 18;
@Migration(version = 17, database = ConstructDB.class)
public static class Migration17 extends AlterTableMigration<Task> {
public Migration17(Class<Task> table) {
super(table);
}
@Override
public void onPreMigrate() {
super.onPreMigrate();
addColumn(SQLiteType.INTEGER, NAMES.DB.READ_COUNT);
}
}
}
這是以前的遷移腳本。所以現在我想添加一個新的列到同一個表。我在表類中做了必要的更改(例如添加列,set和get方法等)。我想編寫一個新腳本來接受我的更改。所以我這樣做:
@Database(name = ConstructDB.NAME, version = ConstructDB.VERSION)
public class ConstructDB {
public static final String NAME = "construct_v3";
public static final int VERSION = 19;
@Migration(version = 18, database = ConstructDB.class)
public static class Migration18 extends AlterTableMigration<Task> {
public Migration18(Class<Task> table) {
super(table);
}
@Override
public void onPreMigrate() {
super.onPreMigrate();
addColumn(SQLiteType.TEXT, NAMES.DB.CATEGORY_ID);
}
}
}
但是當我運行該項目,我有很多的錯誤,如:
error: cannot find symbol
import com.construct.v2.dagger.DaggerConstructComponent;
而且大多是象這樣的錯誤(something_table,這是在我的數據庫中的所有表此。 γ_表文件是build文件夾下,他們不會被編輯):
error: cannot find symbol
import com.construct.v2.models.Attachment_Table;
如果我回到我我的變化前的狀態(在任務模式和遷移腳本)的代碼運行就好了。所以我認爲我做錯了什麼或者跳過了一些步驟。我如何運行遷移腳本?我還需要做什麼其他更改?