2026-02-16 13:09:41 +01:00
|
|
|
-- Simplify RoutingMode enum: remove POST_MAIN, rename PARALLEL -> SHARED
|
2026-02-15 14:25:05 +01:00
|
|
|
-- Drop RoutingRule table (routing is now handled via award assignment)
|
|
|
|
|
|
|
|
|
|
-- 1. Update existing PARALLEL values to SHARED, POST_MAIN to SHARED
|
2026-02-16 13:09:41 +01:00
|
|
|
-- (safe to run even if no rows match)
|
2026-02-15 14:25:05 +01:00
|
|
|
UPDATE "Track" SET "routingMode" = 'PARALLEL' WHERE "routingMode" = 'POST_MAIN';
|
|
|
|
|
|
2026-02-16 13:09:41 +01:00
|
|
|
-- 2. Rename PARALLEL -> SHARED in the enum (only if PARALLEL still exists)
|
|
|
|
|
DO $$ BEGIN
|
|
|
|
|
ALTER TYPE "RoutingMode" RENAME VALUE 'PARALLEL' TO 'SHARED';
|
|
|
|
|
EXCEPTION WHEN invalid_parameter_value THEN NULL; WHEN others THEN NULL; END $$;
|
2026-02-15 14:25:05 +01:00
|
|
|
|
|
|
|
|
-- 3. Remove POST_MAIN from the enum
|
|
|
|
|
-- PostgreSQL doesn't support DROP VALUE directly, so we recreate the enum
|
|
|
|
|
-- Since we already converted POST_MAIN values to PARALLEL (now SHARED), this is safe
|
|
|
|
|
|
2026-02-16 13:09:41 +01:00
|
|
|
-- Only recreate if the old enum still has POST_MAIN (i.e., hasn't been done yet)
|
|
|
|
|
DO $$ BEGIN
|
|
|
|
|
IF EXISTS (
|
|
|
|
|
SELECT 1 FROM pg_enum
|
|
|
|
|
WHERE enumlabel = 'POST_MAIN'
|
|
|
|
|
AND enumtypid = (SELECT oid FROM pg_type WHERE typname = 'RoutingMode')
|
|
|
|
|
) THEN
|
|
|
|
|
CREATE TYPE "RoutingMode_new" AS ENUM ('SHARED', 'EXCLUSIVE');
|
2026-02-15 14:25:05 +01:00
|
|
|
|
2026-02-16 13:09:41 +01:00
|
|
|
ALTER TABLE "Track"
|
|
|
|
|
ALTER COLUMN "routingMode" TYPE "RoutingMode_new"
|
|
|
|
|
USING ("routingMode"::text::"RoutingMode_new");
|
2026-02-15 14:25:05 +01:00
|
|
|
|
2026-02-16 13:09:41 +01:00
|
|
|
DROP TYPE "RoutingMode";
|
|
|
|
|
ALTER TYPE "RoutingMode_new" RENAME TO "RoutingMode";
|
|
|
|
|
END IF;
|
|
|
|
|
END $$;
|
2026-02-15 14:25:05 +01:00
|
|
|
|
|
|
|
|
-- 4. Drop the RoutingRule table (no longer needed)
|
|
|
|
|
DROP TABLE IF EXISTS "RoutingRule";
|