/opt/canhelp/packages/db/migrations
Edit: /opt/canhelp/packages/db/migrations/0013_single_role_unification.sql (732B)
-- Backup legacy market roles to allow manual rollback.
CREATE TABLE IF NOT EXISTS "user_role_migration_backup" (
"user_id" text PRIMARY KEY,
"legacy_role" text NOT NULL,
"created_at" timestamp NOT NULL DEFAULT now()
);
INSERT INTO "user_role_migration_backup" ("user_id", "legacy_role")
SELECT "id", "role"
FROM "users"
WHERE "role" IN ('customer', 'specialist')
ON CONFLICT ("user_id") DO NOTHING;
-- Normalize all non-admin market users to a single role.
UPDATE "users"
SET "role" = 'user'
WHERE "role" IN ('customer', 'specialist');
-- Rollback recipe:
-- UPDATE "users" u
-- SET "role" = b."legacy_role"
-- FROM "user_role_migration_backup" b
-- WHERE u."id" = b."user_id";
-- DROP TABLE "user_role_migration_backup";