Какие есть варианты миграции баз данных sqlite при обновлении приложений ОС? - PullRequest
1 голос
/ 22 ноября 2010

По сути, я хочу перенести схемы sqlite и данные соответственно при обновлении приложений для iPhone.Я слышал, что фреймворки миграции становятся все более популярными в пространствах Ruby, Java и .NET, но есть ли что-то, что может мне помочь в пространстве iOS?

CoreData для меня сейчас не вариант.(Пожалуйста, не спрашивайте почему, просто нет.)

Если библиотека миграции не доступна, какие подходы вы используете?

1 Ответ

1 голос
/ 22 ноября 2010

В прошлом я обычно сохранял информацию о версии с помощью команды PRAGMA в базе данных.Всякий раз, когда мое приложение запускается, я проверяю, в какой версии находится база данных в данный момент, и вызываю все необходимые подпрограммы обновления, чтобы изменить структуру.

В большинстве случаев иметь целую инфраструктуру для этого - излишне;особенно если в базе данных содержится менее 10 или 20 таблиц.

Некоторый псевдокод:

currentVersion = getCurrentDbVersion()

if currentVersion < 2 then
  upgradeToVersion2();
end if

if currentVersion < 3 then
  upgradeToVersion3();
end if

if currentVersion < 4 then
  upgradeToVersion4();
end if

Вот еще некоторые сведения об этой команде PRAGMA: http://www.sqlite.org/pragma.html#pragma_user_version

Надеюсь, это поможет.:)

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