Правильное расположение для создания таблиц базы данных SQLite в дополнении Firefox - PullRequest
0 голосов
/ 15 февраля 2012

Очень просто: каково «правильное» расположение для создания таблиц базы данных SQLite в дополнении Firefox.

(Если возможно, я хотел бы создать таблицы при установке дополнения).

1 Ответ

1 голос
/ 15 февраля 2012

Лучше всего создавать таблицы непосредственно перед началом использования базы данных.Вы не можете предполагать, что достаточно сделать это один раз (когда расширение установлено) - пользователь может удалить вашу базу данных позже по той или иной причине.Таким образом, вы должны сделать что-то вроде этого:

var dbConn = Services.storage.openDatabase(file);
if (!dbConn.tableExists("foo"))
{
  // Database isn't initialized, do it now
  dbConn.createTable("foo", "...");
}

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

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