api: create sleep records

Pedro Lucas Porcellis porcellis@eletrotupi.com 1 month ago b2e08e2a1d4ecc40e11fff8dc28b37418463836e
Parents: 6b750ae
2 file(s) changed
  • api/prisma/migrations/20260504231243_create_sleep_records/migration.sql +13 -0
  • api/prisma/schema.prisma +13 -0
api/prisma/migrations/20260504231243_create_sleep_records/migration.sql
@@ -0,0 +1,13 @@
1 + -- CreateTable
2 + CREATE TABLE "sleep_records" (
3 + "id" SERIAL NOT NULL,
4 + "average" DOUBLE PRECISION NOT NULL,
5 + "date" DATE NOT NULL,
6 + "annotations" TEXT,
7 + "user_id" INTEGER NOT NULL,
8 +
9 + CONSTRAINT "sleep_records_pkey" PRIMARY KEY ("id")
10 + );
11 +
12 + -- AddForeignKey
13 + ALTER TABLE "sleep_records" ADD CONSTRAINT "sleep_records_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
api/prisma/schema.prisma
@@ -22,6 +22,7 @@ moods Mood[]
22 22 interventions Intervention[]
23 23 triggers Trigger[]
24 24 reminders Reminder[]
25 + sleepRecords SleepRecord[]
25 26
26 27 @@map("users")
27 28 }
@@ -88,6 +89,18 @@ userId Int @map("user_id")
88 89 user User @relation(fields: [userId], references: [id])
89 90
90 91 @@map("reminders")
92 + }
93 +
94 + model SleepRecord {
95 + id Int @id @default(autoincrement())
96 + average Float
97 + date DateTime @db.Date
98 + annotations String? @db.Text
99 +
100 + userId Int @map("user_id")
101 + user User @relation(fields: [userId], references: [id])
102 +
103 + @@map("sleep_records")
91 104 }
92 105
93 106 enum IntensityLevel {