fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric, чтобы браузер не округлял значения через input type=number - пробелы при вставке в number-поля удаляются - бэкенд нормализует значения number-полей в строку перед сохранением - добавлен хелпер normalizeFieldValueForStorage Closes: искажение расчётного счёта и других длинных числовых полей
This commit is contained in:
37
migrations/0043_form_and_directory_folders.sql
Normal file
37
migrations/0043_form_and_directory_folders.sql
Normal file
@@ -0,0 +1,37 @@
|
||||
-- Form folders and directory folders with hierarchical structure
|
||||
|
||||
CREATE TABLE IF NOT EXISTS form_folders (
|
||||
id SERIAL PRIMARY KEY,
|
||||
organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
name VARCHAR(200) NOT NULL,
|
||||
parent_id INTEGER,
|
||||
position INTEGER NOT NULL DEFAULT 0,
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS form_folders_org_parent_idx ON form_folders(organization_id, parent_id);
|
||||
CREATE INDEX IF NOT EXISTS form_folders_position_idx ON form_folders(position);
|
||||
|
||||
ALTER TABLE forms
|
||||
ADD COLUMN IF NOT EXISTS folder_id INTEGER;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS forms_folder_idx ON forms(folder_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS directory_folders (
|
||||
id SERIAL PRIMARY KEY,
|
||||
organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
name VARCHAR(200) NOT NULL,
|
||||
parent_id INTEGER,
|
||||
position INTEGER NOT NULL DEFAULT 0,
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS directory_folders_org_parent_idx ON directory_folders(organization_id, parent_id);
|
||||
CREATE INDEX IF NOT EXISTS directory_folders_position_idx ON directory_folders(position);
|
||||
|
||||
ALTER TABLE data_tables
|
||||
ADD COLUMN IF NOT EXISTS folder_id INTEGER;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS data_tables_folder_idx ON data_tables(folder_id);
|
||||
Reference in New Issue
Block a user