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

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

25 lines
1.1 KiB
SQL

-- LLM Provider Registry
CREATE TABLE IF NOT EXISTS llm_providers (
id SERIAL PRIMARY KEY,
organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
name VARCHAR(200) NOT NULL,
provider_type VARCHAR(50) NOT NULL DEFAULT 'openai',
base_url TEXT,
api_key TEXT,
enabled_models JSONB DEFAULT '[]',
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Add LLM provider reference to bots
ALTER TABLE bots ADD COLUMN IF NOT EXISTS llm_provider_id INTEGER REFERENCES llm_providers(id) ON DELETE SET NULL;
ALTER TABLE bots ADD COLUMN IF NOT EXISTS llm_model VARCHAR(200);
-- Add provider references to rag_settings
ALTER TABLE rag_settings ADD COLUMN IF NOT EXISTS embedding_provider_id INTEGER REFERENCES llm_providers(id) ON DELETE SET NULL;
ALTER TABLE rag_settings ADD COLUMN IF NOT EXISTS chat_provider_id INTEGER REFERENCES llm_providers(id) ON DELETE SET NULL;
-- Allow embedding_model to be NULL when registry provider is selected
ALTER TABLE rag_settings ALTER COLUMN embedding_model DROP NOT NULL;