Предварительно заполнить iPhone Safari SQLite DB - PullRequest
0 голосов
/ 14 июня 2010

Я работаю с приложением PhoneGap, которое использует локальное хранилище Safari (SQlite DB) через Javascript:

https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html

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

Если пользователь закрывает приложение во время этой обработки, тогда моя база данных приложения остается в несогласованном состоянии.

Что я предпочитаю делать, так это развертывать базу данных SQLite как часть упаковки приложения iTunes, чтобы при холодном запуске приложения ничего не заполнялось. Тем не менее, я не уверен, что это возможно - все хиты Google по этой теме, которые я могу найти, относятся к базовым данным, предоставляемым SQLite, который мы не используем ...

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

Если это не удастся, я думаю, что смогу создать простую таблицу с одним логическим столбцом "is_app_db_loaded?" и установите его в true после того, как я обработал все мои вставки. Но это действительно брутто ...

1 Ответ

2 голосов
/ 25 августа 2010

Я думаю это решение может работать на вас.которая включает в себя предварительное создание таблицы и ее копирование при запуске приложения.

...