feat: add migration to make user tenantId nullable for platform-level superadmin

This commit is contained in:
kevin-asprec
2026-04-15 10:39:10 +08:00
parent 78d403dcff
commit 7ee821d46e
2 changed files with 13 additions and 1 deletions

View File

@@ -0,0 +1,12 @@
-- AlterColumn: make tenantId nullable for platform-level users (superadmin)
ALTER TABLE "users" ALTER COLUMN "tenantId" DROP NOT NULL;
-- Drop existing FK and recreate with ON DELETE SET NULL
ALTER TABLE "users" DROP CONSTRAINT "users_tenantId_fkey";
ALTER TABLE "users" ADD CONSTRAINT "users_tenantId_fkey"
FOREIGN KEY ("tenantId") REFERENCES "tenants"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- Recreate unique index to allow multiple NULL tenantId values
DROP INDEX IF EXISTS "users_tenantId_email_key";
CREATE UNIQUE INDEX "users_tenantId_email_key" ON "users"("tenantId", "email") WHERE "tenantId" IS NOT NULL;
CREATE UNIQUE INDEX "users_email_key" ON "users"("email") WHERE "tenantId" IS NULL;