Распространение обновлений базы данных для приложения iPhone без загрузки всей базы данных - PullRequest
0 голосов
/ 16 ноября 2010

У меня есть база данных продуктов, которую я хочу распространить в пользовательское приложение iphone.Его данные хранятся в базе данных SqlLite.

Я хочу спросить: если я обновляю цену одного продукта в базе данных, каков наилучший подход для обновления пользовательской копии базы данных в приложении iphone?Я не хочу отправлять все время базы данных пользователям iphone.

Если я отправляю только обновленные продукты, через некоторое время каждый дБ будет отличаться на каждом iphone.Я довольно смущен.

Любая идея будет оценена.

Спасибо за вашу помощь

Ответы [ 2 ]

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

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

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

Например. если основная база данных находится в редакции 1234, а iPhone - в редакции 1222, это будет сделано. Затем получите обновления, соответствующие 1223, 1224 и т. Д.

0 голосов
/ 16 ноября 2010

Поскольку iPhone предназначен для подключения к Интернету, почему бы вам не получить приложение пользователя iPhone для загрузки обновленного прайс-листа из Интернета (с вашего веб-сайта) каждый раз, когда он открывается, или каждую неделю, или что-то подобное?

Обновление:

Если ваша база данных велика, вы можете отслеживать обновления базы данных с помощью номера версии и создавать «патчи» для вашей базы данных в виде операторов SQL, чтобы переходить с одной версии базы данных на другую.

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

Это должно уменьшить количество загружаемых данных до минимума, особенно если вы сжимаете патчи (используя zip).

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