ReActiveAndroid-找不到引用的数据库信息

时间:2018-07-01 15:48:30

标签: android database orm android-sqlite activeandroid

我想用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引用的数据库信息。找不到用户

我错过了任何设置吗?

1 个答案:

答案 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