37 lines
1.2 KiB
SQL
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 $$;
|