checkpoint

pull/1562/head
Brian Cao 2022-10-06 16:14:26 -07:00
parent 3b86c7aec5
commit 9d3d41183d
2 changed files with 133 additions and 129 deletions

View File

@ -8,88 +8,90 @@ datasource db {
} }
model account { model account {
user_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("user_id") @db.UnsignedInt
username String @unique() @db.VarChar(255) username String @unique() @db.VarChar(255)
password String @db.VarChar(60) password String @db.VarChar(60)
is_admin Boolean @default(false) is_admin Boolean @default(false) @map("is_admin")
created_at DateTime? @default(now()) @db.Timestamp(0) created_at DateTime? @default(now()) @map("created_by_id") @db.Timestamp(0)
updated_at DateTime? @default(now()) @db.Timestamp(0) updated_at DateTime? @default(now()) @map("updated_by_id") @db.Timestamp(0)
account_uuid String @unique() @db.VarChar(36) account_uuid String @unique() @map("account_uuid") @db.VarChar(36)
website website[] website website[]
} }
model event { model event {
event_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("event_id") @db.UnsignedInt
website_id Int @db.UnsignedInt websiteId Int @map("website_id") @db.UnsignedInt
session_id Int @db.UnsignedInt sessionId Int @map("session_id") @db.UnsignedInt
created_at DateTime? @default(now()) @db.Timestamp(0) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
url String @db.VarChar(500) url String @db.VarChar(500)
event_name String @db.VarChar(50) eventName String @map("event_name") @db.VarChar(50)
session session @relation(fields: [session_id], references: [session_id]) session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [website_id], references: [website_id]) website website @relation(fields: [websiteId], references: [id])
event_data event_data? event_data eventData?
@@index([created_at]) @@index([createdAt])
@@index([session_id]) @@index([sessionId])
@@index([website_id]) @@index([websiteId])
} }
model event_data { model eventData {
event_data_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("event_data_id") @db.UnsignedInt
event_id Int @unique @db.UnsignedInt eventId Int @unique @map("event_id") @db.UnsignedInt
event_data Json eventData Json @map("event_data")
event event @relation(fields: [event_id], references: [event_id]) event event @relation(fields: [eventId], references: [id])
@@map("event_data")
} }
model pageview { model pageview {
view_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("view_id") @db.UnsignedInt
website_id Int @db.UnsignedInt websiteId Int @map("website_id") @db.UnsignedInt
session_id Int @db.UnsignedInt sessionId Int @map("session_id") @db.UnsignedInt
created_at DateTime? @default(now()) @db.Timestamp(0) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
url String @db.VarChar(500) url String @db.VarChar(500)
referrer String? @db.VarChar(500) referrer String? @db.VarChar(500)
session session @relation(fields: [session_id], references: [session_id]) session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [website_id], references: [website_id]) website website @relation(fields: [websiteId], references: [id])
@@index([created_at]) @@index([createdAt])
@@index([session_id]) @@index([sessionId])
@@index([website_id, created_at]) @@index([websiteId, createdAt])
@@index([website_id]) @@index([websiteId])
@@index([website_id, session_id, created_at]) @@index([websiteId, sessionId, createdAt])
} }
model session { model session {
session_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("session_id") @db.UnsignedInt
session_uuid String @unique() @db.VarChar(36) sessionUuid String @unique() @map("session_uuid") @db.VarChar(36)
website_id Int @db.UnsignedInt websiteId Int @map("website_id") @db.UnsignedInt
created_at DateTime? @default(now()) @db.Timestamp(0) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
hostname String? @db.VarChar(100) hostname String? @db.VarChar(100)
browser String? @db.VarChar(20) browser String? @db.VarChar(20)
os String? @db.VarChar(20) os String? @db.VarChar(20)
device String? @db.VarChar(20) device String? @db.VarChar(20)
screen String? @db.VarChar(11) screen String? @db.VarChar(11)
language String? @db.VarChar(35) language String? @db.VarChar(35)
country String? @db.Char(2) country String? @db.Char(2)
website website @relation(fields: [website_id], references: [website_id]) website website @relation(fields: [websiteId], references: [id])
event event[] event event[]
pageview pageview[] pageview pageview[]
@@index([created_at]) @@index([createdAt])
@@index([website_id]) @@index([websiteId])
} }
model website { model website {
website_id Int @id @default(autoincrement()) @db.UnsignedInt id Int @id @default(autoincrement()) @map("website_id") @db.UnsignedInt
website_uuid String @unique() @db.VarChar(36) websiteUuid String @unique() @map("website_uuid") @db.VarChar(36)
user_id Int @db.UnsignedInt userId Int @map("user_id") @db.UnsignedInt
name String @db.VarChar(100) name String @db.VarChar(100)
domain String? @db.VarChar(500) domain String? @db.VarChar(500)
share_id String? @unique() @db.VarChar(64) share_id String? @unique() @map("share_id") @db.VarChar(64)
created_at DateTime? @default(now()) @db.Timestamp(0) created_at DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
account account @relation(fields: [user_id], references: [user_id]) account account @relation(fields: [userId], references: [id])
event event[] event event[]
pageview pageview[] pageview pageview[]
session session[] session session[]
@@index([user_id]) @@index([userId])
} }

View File

@ -8,88 +8,90 @@ datasource db {
} }
model account { model account {
user_id Int @id @default(autoincrement()) id Int @id @default(autoincrement()) @map("user_id")
username String @unique @db.VarChar(255) username String @unique @db.VarChar(255)
password String @db.VarChar(60) password String @db.VarChar(60)
is_admin Boolean @default(false) isAdmin Boolean @default(false) @map("is_admin")
created_at DateTime? @default(now()) @db.Timestamptz(6) createdAt DateTime? @default(now()) @map("created_by_id") @db.Timestamptz(6)
updated_at DateTime? @default(now()) @db.Timestamptz(6) updatedAt DateTime? @default(now()) @map("updated_by_id") @db.Timestamptz(6)
account_uuid String @unique @db.Uuid accountUuid String @unique @map("account_uuid") @db.Uuid
website website[] website website[]
} }
model event { model event {
event_id Int @id @default(autoincrement()) id Int @id() @unique() @default(autoincrement()) @map("event_id")
website_id Int websiteId Int @map("website_id")
session_id Int sessionId Int @map("session_id")
created_at DateTime? @default(now()) @db.Timestamptz(6) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
url String @db.VarChar(500) url String @db.VarChar(500)
event_name String @db.VarChar(50) eventName String @map("event_name") @db.VarChar(50)
session session @relation(fields: [session_id], references: [session_id]) session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [website_id], references: [website_id]) website website @relation(fields: [websiteId], references: [id])
event_data event_data? eventData eventData?
@@index([created_at]) @@index([createdAt])
@@index([session_id]) @@index([sessionId])
@@index([website_id]) @@index([websiteId])
} }
model event_data { model eventData {
event_data_id Int @id @default(autoincrement()) id Int @id @default(autoincrement()) @map("event_data_id")
event_id Int @unique eventId Int @unique @map("event_id")
event_data Json eventData Json @map("event_data")
event event @relation(fields: [event_id], references: [event_id]) event event @relation(fields: [eventId], references: [id])
@@map("event_data")
} }
model pageview { model pageview {
view_id Int @id @default(autoincrement()) id Int @id @default(autoincrement()) @map("view_id")
website_id Int websiteId Int @map("website_id")
session_id Int sessionId Int @map("session_id")
created_at DateTime? @default(now()) @db.Timestamptz(6) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
url String @db.VarChar(500) url String @db.VarChar(500)
referrer String? @db.VarChar(500) referrer String? @db.VarChar(500)
session session @relation(fields: [session_id], references: [session_id]) session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [website_id], references: [website_id]) website website @relation(fields: [websiteId], references: [id])
@@index([created_at]) @@index([createdAt])
@@index([session_id]) @@index([sessionId])
@@index([website_id, created_at]) @@index([websiteId, createdAt])
@@index([website_id]) @@index([websiteId])
@@index([website_id, session_id, created_at]) @@index([websiteId, sessionId, createdAt])
} }
model session { model session {
session_id Int @id @default(autoincrement()) id Int @id @default(autoincrement()) @map("session_id")
session_uuid String @unique @db.Uuid sessionUuid String @map("session_uuid") @db.Uuid
website_id Int websiteId Int @map("website_id")
created_at DateTime? @default(now()) @db.Timestamptz(6) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
hostname String? @db.VarChar(100) hostname String? @db.VarChar(100)
browser String? @db.VarChar(20) browser String? @db.VarChar(20)
os String? @db.VarChar(20) os String? @db.VarChar(20)
device String? @db.VarChar(20) device String? @db.VarChar(20)
screen String? @db.VarChar(11) screen String? @db.VarChar(11)
language String? @db.VarChar(35) language String? @db.VarChar(35)
country String? @db.Char(2) country String? @db.Char(2)
website website @relation(fields: [website_id], references: [website_id]) website website? @relation(fields: [websiteId], references: [id])
event event[] events event[]
pageview pageview[] pageview pageview[]
@@index([created_at]) @@index([createdAt])
@@index([website_id]) @@index([websiteId])
} }
model website { model website {
website_id Int @id @default(autoincrement()) id Int @id @default(autoincrement()) @map("website_id")
website_uuid String @unique @db.Uuid websiteUuid String @unique @map("website_uuid") @db.Uuid
user_id Int userId Int @map("user_id")
name String @db.VarChar(100) name String @db.VarChar(100)
domain String? @db.VarChar(500) domain String? @db.VarChar(500)
share_id String? @unique @db.VarChar(64) share_id String? @unique @map("share_id") @db.VarChar(64)
created_at DateTime? @default(now()) @db.Timestamptz(6) createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
account account @relation(fields: [user_id], references: [user_id]) account account @relation(fields: [userId], references: [id])
event event[] event event[]
pageview pageview[] pageview pageview[]
session session[] session session[]
@@index([user_id]) @@index([userId])
} }