Files
chorus/migrations/000006_mvp2_openapi_governance.down.sql

45 lines
1.5 KiB
SQL

CREATE TABLE IF NOT EXISTS chorus_mvp2_governance_down_guard (
id TINYINT NOT NULL,
CONSTRAINT chk_chorus_mvp2_governance_down_guard CHECK (id = 0)
) ENGINE=InnoDB;
DELETE FROM chorus_mvp2_governance_down_guard;
INSERT INTO chorus_mvp2_governance_down_guard (id)
SELECT 1
WHERE EXISTS (SELECT 1 FROM api_keys)
OR EXISTS (SELECT 1 FROM api_audit_events);
DROP TABLE chorus_mvp2_governance_down_guard;
DELETE casbin
FROM sys_casbin_rule casbin
JOIN sys_api api
ON casbin.ptype = 'p' AND casbin.v0 = 'chorus_operator'
AND casbin.v1 = api.path AND casbin.v2 = api.action
WHERE api.handle IN ('chorus.api-keys.list', 'chorus.api-keys.get', 'chorus.api-keys.revoke');
DELETE rule
FROM sys_menu_api_rule rule
JOIN sys_menu menu ON rule.menu_id = menu.menu_id
JOIN sys_api api ON rule.sys_api_id = api.id
WHERE menu.path = '/chorus/api-keys'
AND api.handle IN ('chorus.api-keys.list', 'chorus.api-keys.get', 'chorus.api-keys.revoke');
DELETE role_menu
FROM sys_role_menu role_menu
JOIN sys_role role_record ON role_menu.role_id = role_record.role_id
JOIN sys_menu menu ON role_menu.menu_id = menu.menu_id
WHERE role_record.role_key = 'chorus_operator'
AND menu.path = '/chorus/api-keys';
DELETE FROM sys_api
WHERE handle IN ('chorus.api-keys.list', 'chorus.api-keys.get', 'chorus.api-keys.revoke');
DELETE FROM sys_menu WHERE path = '/chorus/api-keys';
ALTER TABLE generations
DROP INDEX idx_generations_queue,
DROP COLUMN available_at,
ADD KEY idx_generations_queue (status, lease_until, created_at);
DROP TABLE api_audit_events;
DROP TABLE api_keys;