18 lines
835 B
SQL
18 lines
835 B
SQL
CREATE TYPE "public"."invite_link_status" AS ENUM('active', 'inactive');--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "workspace_invite_links" (
|
|
"id" bigserial PRIMARY KEY NOT NULL,
|
|
"workspaceId" bigint NOT NULL,
|
|
"code" varchar(12) NOT NULL,
|
|
"status" "invite_link_status" DEFAULT 'active' NOT NULL,
|
|
"expiresAt" timestamp,
|
|
"createdAt" timestamp DEFAULT now() NOT NULL,
|
|
CONSTRAINT "workspace_invite_links_code_unique" UNIQUE("code")
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "workspace_invite_links" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
|
|
DO $$ BEGIN
|
|
ALTER TABLE "workspace_invite_links" ADD CONSTRAINT "workspace_invite_links_workspaceId_workspace_id_fk" FOREIGN KEY ("workspaceId") REFERENCES "public"."workspace"("id") ON DELETE cascade ON UPDATE no action;
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|