2016-08-11 2 views
1

У меня есть sqlite-файл, но я пытаюсь реализовать Realm в своем приложении. Есть ли способ конвертировать базу данных SQLite в Realm? или как я могу использовать свой файл sqlite в Realm.Is есть полезный учебник или предложения? Пожалуйста, помогите мне.Как преобразовать базу данных SQLite в базу данных Realm в swift

ответ

2

Переключение с SQLite на Realm должно быть довольно простым. Realm поддерживает все те же основные типы данных, что и SQLite, поэтому для большинства плоских таблиц просто нужно создать схему сопоставления объектов в Realm и просто скопировать значения в разных. Realm поддерживает значения NULL для каждого типа данных, который он поддерживает, поэтому вы должны иметь возможность создавать похожие контрольные запросы NULL к тому, что у вас есть (хотя, не зная, какую проверку NULL вы делаете, я не могу точно сказать, будет ли это фактически упростите ваши запросы).

Главное предостережение при переходе от SQLite к царству - это как отношения представлены. В Realm на самом деле нет традиционной реализации первичных и внешних ключей, поэтому вам может потребоваться изменить способ взаимодействия объектов с другими. Данные в Realm отображаются как объекты, поэтому отношения управляются как свойства объекта в самой схеме. Для отношения «один к одному» вы можете просто включить тип объекта в качестве свойства, а для отношений «один ко многим» вы можете включить массив связующих объектов. Для отношений «многие ко многим» Realm также предоставляет API обратной связи, который позволяет объекту разрабатывать другие объекты, в которых он принадлежит.

Помимо этого, на самом деле нет рекомендуемого способа перехода в Realm из SQLite, поскольку он, скорее всего, будет зависеть от того, как структурированы ваши данные. На данный момент нет никаких официальных руководств по миграции или инструментов (по этой причине, упомянутых выше), но это то, что мы изучаем.

В итоге, как импортировать SQLite в Realm является:

  1. Создать Realm классы модели преобразованные из SQLite таблиц.
  2. Прочитайте данные SQLite, затем скопируйте данные в Realm.

Я надеюсь, что ответили на ваши вопросы.