-- CreateTable CREATE TABLE "Group" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, CONSTRAINT "Group_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Participant" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "groupId" TEXT NOT NULL, CONSTRAINT "Participant_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Expense" ( "id" TEXT NOT NULL, "title" TEXT NOT NULL, "amount" DECIMAL(65,30) NOT NULL, "paidById" TEXT NOT NULL, CONSTRAINT "Expense_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "ExpensePaidFor" ( "expenseId" TEXT NOT NULL, "participantId" TEXT NOT NULL, CONSTRAINT "ExpensePaidFor_pkey" PRIMARY KEY ("expenseId","participantId") ); -- AddForeignKey ALTER TABLE "Participant" ADD CONSTRAINT "Participant_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "Group"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Expense" ADD CONSTRAINT "Expense_paidById_fkey" FOREIGN KEY ("paidById") REFERENCES "Participant"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "ExpensePaidFor" ADD CONSTRAINT "ExpensePaidFor_expenseId_fkey" FOREIGN KEY ("expenseId") REFERENCES "Expense"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "ExpensePaidFor" ADD CONSTRAINT "ExpensePaidFor_participantId_fkey" FOREIGN KEY ("participantId") REFERENCES "Participant"("id") ON DELETE RESTRICT ON UPDATE CASCADE;