fix(prisma): track migration SQL files in git
migration.sql was gitignored, so CI builds a Docker image from a fresh clone with empty migration directories. prisma migrate deploy then has nothing to apply, leaving the database schema-less on first launch (P2021: table does not exist).
This commit is contained in:
@@ -38,8 +38,5 @@ yarn-error.log*
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
|
||||
# prisma
|
||||
prisma/migrations/*/migration.sql
|
||||
|
||||
# local Claude Code tooling (skills, agent config) - not part of the app
|
||||
/.claude
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "Proposal" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"slug" TEXT NOT NULL,
|
||||
"manageToken" TEXT NOT NULL,
|
||||
"senderName" TEXT NOT NULL,
|
||||
"recipientName" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"message" TEXT NOT NULL,
|
||||
"theme" TEXT NOT NULL DEFAULT 'sunset',
|
||||
"gradientFrom" TEXT,
|
||||
"gradientVia" TEXT,
|
||||
"gradientTo" TEXT,
|
||||
"gifUrl" TEXT,
|
||||
"evasiveNo" BOOLEAN NOT NULL DEFAULT false,
|
||||
"status" TEXT NOT NULL DEFAULT 'draft',
|
||||
"expiresAt" DATETIME,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ActivityOption" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"proposalId" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"emoji" TEXT NOT NULL DEFAULT '🎉',
|
||||
"order" INTEGER NOT NULL DEFAULT 0,
|
||||
CONSTRAINT "ActivityOption_proposalId_fkey" FOREIGN KEY ("proposalId") REFERENCES "Proposal" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "TimeSlot" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"activityOptionId" TEXT NOT NULL,
|
||||
"label" TEXT NOT NULL,
|
||||
"startsAt" TEXT,
|
||||
CONSTRAINT "TimeSlot_activityOptionId_fkey" FOREIGN KEY ("activityOptionId") REFERENCES "ActivityOption" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Response" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"proposalId" TEXT NOT NULL,
|
||||
"selectedActivityId" TEXT,
|
||||
"selectedTimeSlotId" TEXT,
|
||||
"answer" TEXT NOT NULL,
|
||||
"note" TEXT,
|
||||
"respondedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT "Response_proposalId_fkey" FOREIGN KEY ("proposalId") REFERENCES "Proposal" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "Response_selectedActivityId_fkey" FOREIGN KEY ("selectedActivityId") REFERENCES "ActivityOption" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
||||
CONSTRAINT "Response_selectedTimeSlotId_fkey" FOREIGN KEY ("selectedTimeSlotId") REFERENCES "TimeSlot" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Proposal_slug_key" ON "Proposal"("slug");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Proposal_manageToken_key" ON "Proposal"("manageToken");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Response_proposalId_key" ON "Response"("proposalId");
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "ActivityOption" ADD COLUMN "location" TEXT;
|
||||
Reference in New Issue
Block a user