Files

1.9 KiB

Схема данных

Таблица products

Поле Тип Ограничения Описание
id INTEGER PK, AUTOINCREMENT внутренний идентификатор
designation TEXT NOT NULL, UNIQUE обозначение по стандарту, например Болт M10x50 ГОСТ 7798-70
name TEXT NOT NULL наименование изделия
standard TEXT стандарт: ГОСТ, ISO, DIN и т. п.
category TEXT категория: крепёж, подшипники, ...
material TEXT материал
unit TEXT NOT NULL, DEFAULT шт единица измерения
mass_kg REAL >= 0 масса в килограммах
attributes TEXT (JSON) NOT NULL, DEFAULT {} произвольные характеристики
created_at TEXT NOT NULL дата создания (UTC)
updated_at TEXT NOT NULL дата обновления (UTC)

Индексы: standard, category, material.

Идентификация

Ключ записи — designation. Поэтому импорт работает как upsert: повторный импорт записи с тем же обозначением обновляет её, а не создаёт дубликат.

JSON-формат импорта/экспорта

{
  "products": [
    {
      "designation": "Болт M10x50 ГОСТ 7798-70",
      "name": "Болт с шестигранной головкой",
      "standard": "ГОСТ 7798-70",
      "category": "Крепёж",
      "material": "Сталь 20",
      "unit": "шт",
      "mass_kg": 0.045,
      "attributes": {"резьба": "M10"}
    }
  ]
}

Допустим и просто список объектов без обёртки products. Поле id при импорте игнорируется.