develop/storage_sqlite

avalon / разработка / хранилище на базе SQLite

Схема хранилища полностью соответствует схеме на базе MySQL с учетом следующих особенностей:

  • Все даты хранятся в поле типа INTEGER в формате UNIXTIME(0) = '1970-01-01 00:00:00';
  • Все булевы значения конвертируются в INTEGER, где 0 = false, 1 = true, >1 ~ true. Следует обратить внимание, что QVariant, созданный на базе булевой переменной, подставляет в SQL запросы строки-значения "true" / "false", по этому перед выполнением / формированием SQL запроса необходимо приводить все булевы переменные к int явно;
  • Следует помнить, что SQLite не поддерживает внешние ключи (без специального на то указания, которое сделано в целях сохранения совместимости), хотя позволяет их объявлять, по этому связь между таблицами message_topic -> message реализуется на уровне кода приложения.