Инструменты пользователя

Инструменты сайта


lss-server-php:db-datastructure-sqlite

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
lss-server-php:db-datastructure-sqlite [2026/06/15 16:18] – [важные замечания] madminlss-server-php:db-datastructure-sqlite [2026/06/15 16:28] (текущий) – [SQlite - требования к структуре БД] madmin
Строка 1: Строка 1:
 ====== SQlite - требования к структуре БД ====== ====== SQlite - требования к структуре БД ======
 +В настоящий момент полноценно реализована поддержка серверов PostgreSql и SQlite. В этом документе описаны требования к **SQlite**, а для PostgreSql требования можно посмотреть здесь: [[db-datastructure-postgresql]]
 +
 ===== Создание и инициализация системных таблиц ===== ===== Создание и инициализация системных таблиц =====
 Для корректной работы LSS сервера в базе данных должны присутствовать системные таблицы: Для корректной работы LSS сервера в базе данных должны присутствовать системные таблицы:
Строка 311: Строка 313:
     * для наглядности имя ссылки в конце содержит сочетание символов 'id', например: "machineid" - ссылка на таблицу "machine"     * для наглядности имя ссылки в конце содержит сочетание символов 'id', например: "machineid" - ссылка на таблицу "machine"
     * на уровне базы данных ссылки объявляются как **nullable**     * на уровне базы данных ссылки объявляются как **nullable**
-    * на примере таблицы **machinerepair**, объявление **каскадной** ссылки: <code>"machineid" integer references "machine" on delete cascade</code> Объявление **restrict** ссылки: <code>"repairid" bigint references "repair" deferrable initially deferred</code> у restrict ссылки никаких дополнительных описаний на **on delete** не пишем, это позволяет отнести проверку на конец транзакции+    * на примере таблицы **machinerepair**, объявление **каскадной** ссылки: <code>"machineid" integer references "machine" on delete cascade</code> Объявление **restrict** ссылки: <code>"repairid" integer references "repair" on delete restrict</code>
     * по каждой ссылке делаем индекс, именуем его как **idx_<имя таблицы>_<имя поля>**     * по каждой ссылке делаем индекс, именуем его как **idx_<имя таблицы>_<имя поля>**
   * соглашения на объявление полей **datetime**:   * соглашения на объявление полей **datetime**:
-    * не используем часовые пояса +    * обычно поля для хранения даты и времени nullable, без привязки к часовым поясам
-    * обычно поля для хранения даты и времени nullable+
 <code> <code>
-"datetime1" timestamp+"datetime1" text
-"datetime2" timestamp default now()+"datetime2" text not null default (datetime('now', 'localtime')),
 </code> </code>
   * соглашения на **nullable** полей:   * соглашения на **nullable** полей:
lss-server-php/db-datastructure-sqlite.1781529524.txt.gz · Последнее изменение: 2026/06/15 16:18 — madmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki