我想用ReActiveAndroid替换旧的DB代码,但所有操作都有错误
正如文档中提到的,我有以下类:
数据库类
@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.User引用的数据库信息
有没有我遗漏的设置?
发布于 2018-08-01 03:42:17
没错,但我选择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
https://stackoverflow.com/questions/51124775
复制相似问题