21 lines
899 B
SQL
21 lines
899 B
SQL
-- Each provider keeps its own key, model, and base URL so switching
|
|
-- xAI → OpenCode Go (and back) does not wipe what was already saved.
|
|
-- The active choice still lives on spaces.default_model_*; this table is
|
|
-- the memory for the providers that are not currently selected.
|
|
-- API keys stay here and are never returned to the client.
|
|
|
|
CREATE TABLE IF NOT EXISTS space_model_providers (
|
|
space_id TEXT NOT NULL REFERENCES spaces (id) ON DELETE CASCADE,
|
|
provider TEXT NOT NULL,
|
|
model_id TEXT NOT NULL DEFAULT '',
|
|
base_url TEXT,
|
|
api_key TEXT,
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
PRIMARY KEY (space_id, provider)
|
|
);
|
|
|
|
INSERT INTO space_model_providers (space_id, provider, model_id, base_url, api_key)
|
|
SELECT id, default_model_provider, default_model_id, default_model_base_url, default_model_api_key
|
|
FROM spaces
|
|
ON CONFLICT (space_id, provider) DO NOTHING;
|