26 lines
1.3 KiB
SQL
26 lines
1.3 KiB
SQL
CREATE TABLE "HouseholdGoal" (
|
|
"id" TEXT NOT NULL,
|
|
"householdId" TEXT NOT NULL,
|
|
"createdByUserId" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"targetAmount" DECIMAL(18, 2) NOT NULL,
|
|
"currentAmount" DECIMAL(18, 2) NOT NULL DEFAULT 0,
|
|
"isoCurrencyCode" TEXT NOT NULL DEFAULT 'USD',
|
|
"targetDate" TIMESTAMP(3),
|
|
"priority" TEXT NOT NULL DEFAULT 'medium',
|
|
"status" TEXT NOT NULL DEFAULT 'active',
|
|
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "HouseholdGoal_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE INDEX "HouseholdGoal_householdId_status_idx" ON "HouseholdGoal"("householdId", "status");
|
|
CREATE INDEX "HouseholdGoal_createdByUserId_createdAt_idx" ON "HouseholdGoal"("createdByUserId", "createdAt");
|
|
CREATE INDEX "HouseholdGoal_targetDate_idx" ON "HouseholdGoal"("targetDate");
|
|
|
|
ALTER TABLE "HouseholdGoal" ADD CONSTRAINT "HouseholdGoal_householdId_fkey" FOREIGN KEY ("householdId") REFERENCES "Household"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE "HouseholdGoal" ADD CONSTRAINT "HouseholdGoal_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|