Files
iistwin/migrations/0017_contract_number_counters.sql
Ильяс Султанов 1f5ecb6da4 fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric,
  чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage

Closes: искажение расчётного счёта и других длинных числовых полей
2026-07-07 21:03:40 +03:00

15 lines
622 B
SQL

-- Contract Number Counters (сквозная нумерация договоров)
CREATE TABLE IF NOT EXISTS contract_number_counters (
id SERIAL PRIMARY KEY,
organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
form_id INTEGER NOT NULL REFERENCES forms(id) ON DELETE CASCADE,
prefix TEXT NOT NULL,
year INTEGER NOT NULL,
last_number INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
CREATE UNIQUE INDEX IF NOT EXISTS contract_number_counters_unique
ON contract_number_counters (organization_id, form_id, prefix, year);