diff options
Diffstat (limited to 'prisma')
5 files changed, 60 insertions, 9 deletions
diff --git a/prisma/migrations/20240126214121_add_document_urls/migration.sql b/prisma/migrations/20240126214121_add_document_urls/migration.sql new file mode 100644 index 0000000..1691143 --- /dev/null +++ b/prisma/migrations/20240126214121_add_document_urls/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Expense" ADD COLUMN "documentUrls" TEXT[] DEFAULT ARRAY[]::TEXT[]; diff --git a/prisma/migrations/20240128192510_update_document_urls/migration.sql b/prisma/migrations/20240128192510_update_document_urls/migration.sql new file mode 100644 index 0000000..1f12259 --- /dev/null +++ b/prisma/migrations/20240128192510_update_document_urls/migration.sql @@ -0,0 +1,9 @@ +/* + Warnings: + + - The `documentUrls` column on the `Expense` table would be dropped and recreated. This will lead to data loss if there is data in the column. + +*/ +-- AlterTable +ALTER TABLE "Expense" DROP COLUMN "documentUrls", +ADD COLUMN "documentUrls" JSONB[] DEFAULT ARRAY[]::JSONB[]; diff --git a/prisma/migrations/20240128193431_update_documents/migration.sql b/prisma/migrations/20240128193431_update_documents/migration.sql new file mode 100644 index 0000000..9626e36 --- /dev/null +++ b/prisma/migrations/20240128193431_update_documents/migration.sql @@ -0,0 +1,20 @@ +/* + Warnings: + + - You are about to drop the column `documentUrls` on the `Expense` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Expense" DROP COLUMN "documentUrls"; + +-- CreateTable +CREATE TABLE "ExpenseDocument" ( + "id" TEXT NOT NULL, + "url" TEXT NOT NULL, + "expenseId" TEXT, + + CONSTRAINT "ExpenseDocument_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "ExpenseDocument" ADD CONSTRAINT "ExpenseDocument_expenseId_fkey" FOREIGN KEY ("expenseId") REFERENCES "Expense"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/migrations/20240128202400_add_doc_info/migration.sql b/prisma/migrations/20240128202400_add_doc_info/migration.sql new file mode 100644 index 0000000..cb3addb --- /dev/null +++ b/prisma/migrations/20240128202400_add_doc_info/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - Added the required column `height` to the `ExpenseDocument` table without a default value. This is not possible if the table is not empty. + - Added the required column `width` to the `ExpenseDocument` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "ExpenseDocument" ADD COLUMN "height" INTEGER NOT NULL, +ADD COLUMN "width" INTEGER NOT NULL; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 1fbfc65..394342d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -37,20 +37,30 @@ model Category { } model Expense { - id String @id - group Group @relation(fields: [groupId], references: [id], onDelete: Cascade) - expenseDate DateTime @default(dbgenerated("CURRENT_DATE")) @db.Date + id String @id + group Group @relation(fields: [groupId], references: [id], onDelete: Cascade) + expenseDate DateTime @default(dbgenerated("CURRENT_DATE")) @db.Date title String - category Category? @relation(fields: [categoryId], references: [id]) - categoryId Int @default(0) + category Category? @relation(fields: [categoryId], references: [id]) + categoryId Int @default(0) amount Int - paidBy Participant @relation(fields: [paidById], references: [id], onDelete: Cascade) + paidBy Participant @relation(fields: [paidById], references: [id], onDelete: Cascade) paidById String paidFor ExpensePaidFor[] groupId String - isReimbursement Boolean @default(false) - splitMode SplitMode @default(EVENLY) - createdAt DateTime @default(now()) + isReimbursement Boolean @default(false) + splitMode SplitMode @default(EVENLY) + createdAt DateTime @default(now()) + documents ExpenseDocument[] +} + +model ExpenseDocument { + id String @id + url String + width Int + height Int + Expense Expense? @relation(fields: [expenseId], references: [id]) + expenseId String? } enum SplitMode { |
