Files
studio-admin-be/prisma/migrations/20260709010000_add_admin_app_permissions/migration.sql
T
chyoo eb79bddcc0
ci/woodpecker/push/woodpecker Pipeline was successful
admin appPermissions
2026-07-09 09:07:03 +09:00

37 lines
1.2 KiB
SQL

CREATE TABLE IF NOT EXISTS "admin_app_permissions" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"admin_id" UUID NOT NULL,
"app_id" UUID NOT NULL,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "admin_app_permissions_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX IF NOT EXISTS "admin_app_permissions_admin_id_app_id_key"
ON "admin_app_permissions"("admin_id", "app_id");
CREATE INDEX IF NOT EXISTS "admin_app_permissions_app_id_idx"
ON "admin_app_permissions"("app_id");
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'admin_app_permissions_admin_id_fkey'
) THEN
ALTER TABLE "admin_app_permissions"
ADD CONSTRAINT "admin_app_permissions_admin_id_fkey"
FOREIGN KEY ("admin_id") REFERENCES "admins"("id") ON DELETE CASCADE ON UPDATE CASCADE;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'admin_app_permissions_app_id_fkey'
) THEN
ALTER TABLE "admin_app_permissions"
ADD CONSTRAINT "admin_app_permissions_app_id_fkey"
FOREIGN KEY ("app_id") REFERENCES "apps"("id") ON DELETE CASCADE ON UPDATE CASCADE;
END IF;
END $$;