我想用ReActiveAndroid替换旧的数据库代码,但是所有操作都出错
如文档中所述,我具有这些类:
数据库类
@Database(name = "MyDatabase", version = 1)
public class MyDatabase {
}
应用程序类
DatabaseConfig appDatabase = new DatabaseConfig.Builder(MyDatabase.class)
.build();
ReActiveAndroid.init(new ReActiveConfig.Builder(this)
.addDatabaseConfigs(appDatabase)
.build());
模型类
@Table(database = MyDatabase.class)
public class User extends Model {
...
}
插入代码
User user = new User();
user.id = id;
user.name = name;
user.save();
我遇到此错误:
java.lang.IllegalArgumentException:用表ir.hatamiarash.app.models引用的数据库信息。找不到用户
我错过了任何设置吗?
答案 0 :(得分:1)
是的,但是我选择ReactiveAndroid的原因是要从ActiveAndroid进行迁移。 Realm不使用SQLite,这意味着将需要更多的迁移过程。
我找到了解决此问题的方法:
DatabaseConfig appDatabase = new DatabaseConfig.Builder(AppDatabase.class)
.addModelClasses(LogEntry.class)
.addMigrations(AppDatabase.MIGRATION_16_17)
.build();
您必须致电addModelClasses
。还有一些文档可以帮助解决随后出现的错误:https://imangazalievm.gitbooks.io/reactiveandroid/migration-from-activeandroid.html