Files
story/migrations/000020_ops_config_rollout_gates.down.sql

21 lines
752 B
PL/PgSQL

BEGIN;
DROP TABLE IF EXISTS runtime_config_rollout;
DROP TABLE IF EXISTS ops_device_group_member;
DROP TABLE IF EXISTS ops_device_group;
DROP TABLE IF EXISTS ops_config_evaluation;
DROP TABLE IF EXISTS ops_resource_reference;
WITH ranked AS (
SELECT id,row_number() OVER (PARTITION BY tenant_id,config_key ORDER BY version_no DESC,id DESC) AS position
FROM runtime_config_version WHERE status='PUBLISHED'
)
UPDATE runtime_config_version rcv
SET status='RETIRED',retired_at=COALESCE(retired_at,now()),row_version=row_version+1,updated_at=now()
FROM ranked WHERE ranked.id=rcv.id AND ranked.position>1;
CREATE UNIQUE INDEX runtime_config_one_published_key
ON runtime_config_version(tenant_id,config_key) WHERE status='PUBLISHED';
COMMIT;