ReActiveAndroid - База данных, на которую ссылаются, не найдена - PullRequest
0 голосов
/ 01 июля 2018

Я хочу заменить старые коды БД на 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.User not found

Есть какие-то настройки, которые я пропустил?

1 Ответ

0 голосов
/ 31 июля 2018

Верно, но причина, по которой я выбрал 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...