mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 19:51:17 +00:00
92 lines
3.1 KiB
SQL
92 lines
3.1 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "CourseBooking" ADD COLUMN "passId" TEXT;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "CustomerPass" (
|
|
"id" TEXT NOT NULL,
|
|
"productId" TEXT NOT NULL,
|
|
"businessId" TEXT NOT NULL,
|
|
"userId" TEXT,
|
|
"email" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"sports" TEXT[],
|
|
"creditsTotal" INTEGER NOT NULL,
|
|
"creditsRemaining" INTEGER NOT NULL,
|
|
"validUntil" TIMESTAMP(3),
|
|
"status" TEXT NOT NULL DEFAULT 'active',
|
|
"source" TEXT NOT NULL,
|
|
"priceCents" INTEGER,
|
|
"stripeAccountId" TEXT,
|
|
"stripeSessionId" TEXT,
|
|
"stripePaymentIntentId" TEXT,
|
|
"amountPaid" INTEGER,
|
|
"platformFee" INTEGER,
|
|
"stripeFee" INTEGER,
|
|
"billingAddress" JSONB,
|
|
"invoiceNumber" TEXT,
|
|
"invoiceIssuedAt" TIMESTAMP(3),
|
|
"refundedAmount" INTEGER,
|
|
"refundedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "CustomerPass_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "PassAdjustment" (
|
|
"id" TEXT NOT NULL,
|
|
"passId" TEXT NOT NULL,
|
|
"managerId" TEXT NOT NULL,
|
|
"type" TEXT NOT NULL,
|
|
"creditsDelta" INTEGER,
|
|
"previousValidUntil" TIMESTAMP(3),
|
|
"newValidUntil" TIMESTAMP(3),
|
|
"reason" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "PassAdjustment_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "CustomerPass_stripeSessionId_key" ON "CustomerPass"("stripeSessionId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "CustomerPass_stripePaymentIntentId_key" ON "CustomerPass"("stripePaymentIntentId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "CustomerPass_invoiceNumber_key" ON "CustomerPass"("invoiceNumber");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "CustomerPass_businessId_idx" ON "CustomerPass"("businessId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "CustomerPass_userId_idx" ON "CustomerPass"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "CustomerPass_email_idx" ON "CustomerPass"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "CustomerPass_productId_idx" ON "CustomerPass"("productId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "PassAdjustment_passId_idx" ON "PassAdjustment"("passId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "CourseBooking_passId_idx" ON "CourseBooking"("passId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "CourseBooking" ADD CONSTRAINT "CourseBooking_passId_fkey" FOREIGN KEY ("passId") REFERENCES "CustomerPass"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "CustomerPass" ADD CONSTRAINT "CustomerPass_productId_fkey" FOREIGN KEY ("productId") REFERENCES "Product"("id") ON DELETE NO ACTION ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "CustomerPass" ADD CONSTRAINT "CustomerPass_businessId_fkey" FOREIGN KEY ("businessId") REFERENCES "Business"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "CustomerPass" ADD CONSTRAINT "CustomerPass_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "PassAdjustment" ADD CONSTRAINT "PassAdjustment_passId_fkey" FOREIGN KEY ("passId") REFERENCES "CustomerPass"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|