Как перенести данные и схему из предварительно заполненной базы данных objectBox?
Я использую ObjectBox в качестве менеджера баз данных в приложении Flutter / Dart.
Я использую предварительно заполненную базу данных (.mdb), которую копирую в каталог приложения при установке.
- Как выполнить миграцию базы данных?
- Какой тип архитектуры я должен настроить для выполнения миграции как данных, присутствующих в базе данных, так и схемы (как, например, мы могли бы сделать с Realm)
- Можно ли получить что-то подобное:
if (oldVersion == 0) {
// Migrate DATA or/and Schema from v0 to v1
oldVersion++;
}
if (oldVersion == 1) {
// Migrate DATA or/and Schema from v1 to v2
oldVersion++;
}
1 ответ
ObjectBox выполняет миграции иначе. Во многих случаях он может делать это автоматически без какой-либо дополнительной информации (например, добавления / удаления свойств и типов). Для переименования вы должны предоставить дополнительную информацию. Весь процесс документируется здесь , включая некоторый фон на UIDs (если вы заинтересованы, в противном случае перейти к «как» раздел).
Судя по вашему вопросу, я не понимаю, что вы искали. Если вы хотите, чтобы ваша собственная логика запускалась, например, при обновлении приложения, тогда это полностью в ваших руках. Например, у вас может быть свой собственный «метатип», несущий версию вашего приложения, и на его основе делать любые обновления, зависящие от приложения.
PS: Я не уверен, как тот факт, что вы имеете дело с «предварительно заполненной базой данных», должен на это повлиять; насколько я понимаю, этого не должно быть.