41 lines
1.5 KiB
SQL
41 lines
1.5 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "RegistrationStatus" AS ENUM ('pending', 'confirmed', 'cancelled');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Registration" (
|
|
"id" TEXT NOT NULL,
|
|
"tenantId" TEXT NOT NULL,
|
|
"eventId" TEXT NOT NULL,
|
|
"attendeeId" TEXT NOT NULL,
|
|
"status" "RegistrationStatus" NOT NULL DEFAULT 'pending',
|
|
"code" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "Registration_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Registration_code_key" ON "Registration"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Registration_tenantId_eventId_attendeeId_key" ON "Registration"("tenantId", "eventId", "attendeeId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Registration_tenantId_idx" ON "Registration"("tenantId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Registration_tenantId_eventId_idx" ON "Registration"("tenantId", "eventId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Registration_eventId_idx" ON "Registration"("eventId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Registration" ADD CONSTRAINT "Registration_tenantId_fkey" FOREIGN KEY ("tenantId") REFERENCES "Tenant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Registration" ADD CONSTRAINT "Registration_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Registration" ADD CONSTRAINT "Registration_attendeeId_fkey" FOREIGN KEY ("attendeeId") REFERENCES "Attendee"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|