ReActiveAndroid - 未找到引用的数据库信息
ReActiveAndroid - Database info referenced not found
我想用ReActiveAndroid替换旧的数据库代码,但是所有操作都出错
如文档中所述,我有这些 类 :
数据库Class
@Database(name = "MyDatabase", version = 1)
public class MyDatabase {
}
申请Class
DatabaseConfig appDatabase = new DatabaseConfig.Builder(MyDatabase.class)
.build();
ReActiveAndroid.init(new ReActiveConfig.Builder(this)
.addDatabaseConfigs(appDatabase)
.build());
型号Class
@Table(database = MyDatabase.class)
public class User extends Model {
...
}
插入代码
User user = new User();
user.id = id;
user.name = name;
user.save();
我有这个错误:
java.lang.IllegalArgumentException: Database info referenced with table ir.hatamiarash.app.models.User not found
我是否遗漏了任何设置?
没错,但我选择 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
我想用ReActiveAndroid替换旧的数据库代码,但是所有操作都出错
如文档中所述,我有这些 类 :
数据库Class
@Database(name = "MyDatabase", version = 1)
public class MyDatabase {
}
申请Class
DatabaseConfig appDatabase = new DatabaseConfig.Builder(MyDatabase.class)
.build();
ReActiveAndroid.init(new ReActiveConfig.Builder(this)
.addDatabaseConfigs(appDatabase)
.build());
型号Class
@Table(database = MyDatabase.class)
public class User extends Model {
...
}
插入代码
User user = new User();
user.id = id;
user.name = name;
user.save();
我有这个错误:
java.lang.IllegalArgumentException: Database info referenced with table ir.hatamiarash.app.models.User not found
我是否遗漏了任何设置?
没错,但我选择 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