-- CreateTable: 用户直授权限表(不依赖角色,单独给用户授予权限,如 ops:user-ops) CREATE TABLE "platform_schema"."user_permissions" ( "id" SERIAL NOT NULL, "user_id" TEXT NOT NULL, "permission_id" INTEGER NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "user_permissions_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "user_permissions_user_id_idx" ON "platform_schema"."user_permissions"("user_id"); -- CreateIndex: 唯一约束,同一用户不重复授同一权限 CREATE UNIQUE INDEX "user_permissions_user_id_permission_id_key" ON "platform_schema"."user_permissions"("user_id", "permission_id"); -- AddForeignKey ALTER TABLE "platform_schema"."user_permissions" ADD CONSTRAINT "user_permissions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "platform_schema"."users"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "platform_schema"."user_permissions" ADD CONSTRAINT "user_permissions_permission_id_fkey" FOREIGN KEY ("permission_id") REFERENCES "platform_schema"."permissions"("id") ON DELETE CASCADE ON UPDATE CASCADE;