Files
chorus/migrations/000003_mvp1_routing.down.sql
T

64 lines
2.2 KiB
SQL

-- MVP-0 did not understand x-goog-api-key. Reject the rollback before changing any
-- application table if a post-MVP-0 provider would lose its original invariant.
CREATE TABLE IF NOT EXISTS chorus_mvp1_routing_down_guard (
id TINYINT NOT NULL,
CONSTRAINT chk_chorus_mvp1_routing_down_guard CHECK (id = 0)
) ENGINE=InnoDB;
DELETE FROM chorus_mvp1_routing_down_guard;
INSERT INTO chorus_mvp1_routing_down_guard (id)
SELECT 1 WHERE EXISTS (SELECT 1 FROM providers WHERE auth_type = 'x-goog-api-key');
ALTER TABLE generations
DROP FOREIGN KEY fk_generations_route_pool,
DROP FOREIGN KEY fk_generations_prompt_template,
DROP CHECK chk_generations_route_snapshot,
DROP CHECK chk_generations_provider_attempt_count,
DROP INDEX idx_generations_route_pool,
DROP INDEX idx_generations_prompt_template,
DROP COLUMN provider_attempt_count,
DROP COLUMN role_rule,
DROP COLUMN route_snapshot,
DROP COLUMN prompt_template_id,
DROP COLUMN route_pool_version,
DROP COLUMN route_pool_id;
ALTER TABLE generation_inputs
DROP CHECK chk_generation_inputs_note,
DROP COLUMN note;
ALTER TABLE prompt_templates
DROP CHECK chk_prompt_templates_capability,
DROP COLUMN default_role_rule,
DROP COLUMN capability;
ALTER TABLE providers
DROP CHECK chk_providers_auth_mvp1;
UPDATE providers p
JOIN provider_credentials c ON c.id = p.active_credential_id
SET p.api_key_enc = c.api_key_enc;
ALTER TABLE providers
DROP FOREIGN KEY fk_providers_active_credential,
DROP INDEX uq_providers_active_credential,
DROP COLUMN active_credential_id,
ADD CONSTRAINT chk_providers_auth CHECK (
(auth_type = 'none' AND api_key_enc IS NULL) OR
(auth_type = 'bearer' AND api_key_enc IS NOT NULL)
);
ALTER TABLE provider_models
DROP FOREIGN KEY fk_provider_models_provider_mvp1,
ADD CONSTRAINT fk_provider_models_provider FOREIGN KEY (provider_id) REFERENCES providers (id) ON DELETE CASCADE;
DROP TABLE admin_audit_events;
DROP TABLE provider_connectivity_checks;
DROP TABLE route_member_runtime;
DROP TABLE active_routes;
DROP TABLE route_pool_members;
DROP TABLE route_pools;
DROP TABLE provider_model_capabilities;
DROP TABLE provider_credentials;
DROP TABLE chorus_mvp1_routing_down_guard;