1.9 KiB
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 при импорте игнорируется.