- number-поля теперь рендерятся как text + inputMode=numeric, чтобы браузер не округлял значения через input type=number - пробелы при вставке в number-поля удаляются - бэкенд нормализует значения number-полей в строку перед сохранением - добавлен хелпер normalizeFieldValueForStorage Closes: искажение расчётного счёта и других длинных числовых полей
27 lines
890 B
SQL
27 lines
890 B
SQL
-- Migration: adds rag_settings table for per-organization LLM/embedding configuration.
|
|
-- Safe to run multiple times (CREATE TABLE IF NOT EXISTS, ADD CONSTRAINT IF NOT EXISTS).
|
|
|
|
CREATE TABLE IF NOT EXISTS rag_settings (
|
|
organization_id INTEGER PRIMARY KEY,
|
|
provider VARCHAR(50) NOT NULL DEFAULT 'openai',
|
|
api_key TEXT,
|
|
base_url TEXT,
|
|
embedding_model VARCHAR(200) NOT NULL DEFAULT 'text-embedding-3-small',
|
|
updated_at TIMESTAMP DEFAULT NOW()
|
|
);
|
|
--> statement-breakpoint
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1 FROM information_schema.table_constraints
|
|
WHERE constraint_name = 'rag_settings_organization_id_fkey'
|
|
AND table_name = 'rag_settings'
|
|
) THEN
|
|
ALTER TABLE rag_settings
|
|
ADD CONSTRAINT rag_settings_organization_id_fkey
|
|
FOREIGN KEY (organization_id) REFERENCES organizations(id) ON DELETE CASCADE;
|
|
END IF;
|
|
END $$;
|
|
--> statement-breakpoint
|