Лучшие практики для нечастого обновления базы данных Android? - PullRequest
0 голосов
/ 26 марта 2011

У меня есть приложение Android, которое устанавливает базу данных (~ 2000 строк во всех таблицах) на устройство при первом его открытии. Пользователь может внести в него незначительные изменения (только один столбец), и он обновляется только в новой версии.

Из-за особенностей базы данных / приложения невозможно вывести данные в оперативный режим ( пока ).

Я предполагаю, что я установлю базу данных (onCreate) с большим количеством вставок, затем обновляю ее время от времени, а затем вставляю больше строк (onUpdate?) С каждым новым выпуском. Каковы лучшие практики для этой процедуры?

  1. Должен ли я иметь файл XML (или другую структуру), который имитирует данные и вставляет каждую новую строку в каждое обновление оттуда?
  2. При каждом обновлении я должен стереть все старые данные или сохранить процедуры внутри onUpdate (), которые зависят от текущей версии новой версии базы данных (например, версия <<em> X , затем обновить эти строки и добавить эти ...)?
  3. Пользователь может изменить столбец (специфичный для , который пользователь) для каждой строки. Будет ли иметь смысл хранить это в файле настроек?

Работа с развернутыми базами данных является новой для меня, поэтому любая помощь будет признательна!

Спасибо!

1 Ответ

1 голос
/ 26 марта 2011

Ну, я могу предложить способ миграции.Хранить версию данных в базе данных.Сделайте так, чтобы в каждом дистрибутиве приложения были файлы, такие как 1.0-to-1.3.upd, 1.3-to-1.4.upd, содержащие все данные обновления для перехода к новой версии данных.

Каждый OnUpdate () долженпроверьте версию данных в базе данных и список файлов * .upd, которые она должна определить, требуется ли обновление данных.А затем просто применяет необходимые обновления одно за другим, каждый раз увеличивая версию данных в дБ.

Это похоже на работу обновлений форумов VBulletin и XenForo.

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