3d381944d2
Next.js + Express event management app for Hope Family Church.
37 lines
1.6 KiB
SQL
37 lines
1.6 KiB
SQL
-- Add stockLimit to EventOption
|
|
ALTER TABLE "EventOption" ADD COLUMN "stockLimit" INTEGER NOT NULL DEFAULT 0;
|
|
|
|
-- Add stockLimit to EarlyBirdTier
|
|
ALTER TABLE "EarlyBirdTier" ADD COLUMN "stockLimit" INTEGER NOT NULL DEFAULT 0;
|
|
|
|
-- CreateTable OptionVariant
|
|
CREATE TABLE "OptionVariant" (
|
|
"id" TEXT NOT NULL,
|
|
"eventOptionId" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"price" DOUBLE PRECISION,
|
|
"stockLimit" INTEGER NOT NULL DEFAULT 0,
|
|
"order" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "OptionVariant_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- Add new columns to RegistrationOption
|
|
ALTER TABLE "RegistrationOption" ADD COLUMN "variantId" TEXT;
|
|
ALTER TABLE "RegistrationOption" ADD COLUMN "appliedTierId" TEXT;
|
|
ALTER TABLE "RegistrationOption" ADD COLUMN "priceSnapshot" DOUBLE PRECISION;
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "OptionVariant_eventOptionId_idx" ON "OptionVariant"("eventOptionId");
|
|
CREATE INDEX "RegistrationOption_variantId_idx" ON "RegistrationOption"("variantId");
|
|
CREATE INDEX "RegistrationOption_appliedTierId_idx" ON "RegistrationOption"("appliedTierId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "OptionVariant" ADD CONSTRAINT "OptionVariant_eventOptionId_fkey"
|
|
FOREIGN KEY ("eventOptionId") REFERENCES "EventOption"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE "RegistrationOption" ADD CONSTRAINT "RegistrationOption_variantId_fkey"
|
|
FOREIGN KEY ("variantId") REFERENCES "OptionVariant"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE "RegistrationOption" ADD CONSTRAINT "RegistrationOption_appliedTierId_fkey"
|
|
FOREIGN KEY ("appliedTierId") REFERENCES "EarlyBirdTier"("id") ON DELETE SET NULL ON UPDATE CASCADE; |