28 lines
1.4 KiB
SQL
28 lines
1.4 KiB
SQL
-- Add household-scoped accountant/advisor workflow tasks.
|
|
CREATE TABLE "AccountantTask" (
|
|
"id" TEXT NOT NULL,
|
|
"householdId" TEXT NOT NULL,
|
|
"createdByUserId" TEXT NOT NULL,
|
|
"assignedToUserId" TEXT,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"taskType" TEXT NOT NULL DEFAULT 'review',
|
|
"status" TEXT NOT NULL DEFAULT 'open',
|
|
"priority" TEXT NOT NULL DEFAULT 'medium',
|
|
"dueDate" TIMESTAMP(3),
|
|
"completedAt" TIMESTAMP(3),
|
|
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "AccountantTask_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE INDEX "AccountantTask_householdId_status_idx" ON "AccountantTask"("householdId", "status");
|
|
CREATE INDEX "AccountantTask_assignedToUserId_status_idx" ON "AccountantTask"("assignedToUserId", "status");
|
|
CREATE INDEX "AccountantTask_dueDate_idx" ON "AccountantTask"("dueDate");
|
|
|
|
ALTER TABLE "AccountantTask" ADD CONSTRAINT "AccountantTask_householdId_fkey" FOREIGN KEY ("householdId") REFERENCES "Household"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE "AccountantTask" ADD CONSTRAINT "AccountantTask_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE "AccountantTask" ADD CONSTRAINT "AccountantTask_assignedToUserId_fkey" FOREIGN KEY ("assignedToUserId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|