generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model account { user_id Int @default(autoincrement()) @id username String @unique password String is_admin Boolean @default(false) created_at DateTime? @default(now()) updated_at DateTime? @default(now()) website website[] } model event { event_id Int @default(autoincrement()) @id website_id Int session_id Int created_at DateTime? @default(now()) url String event_type String event_value String session session @relation(fields: [session_id], references: [session_id]) website website @relation(fields: [website_id], references: [website_id]) @@index([created_at], name: "event_created_at_idx") @@index([session_id], name: "event_session_id_idx") @@index([website_id], name: "event_website_id_idx") } model pageview { view_id Int @default(autoincrement()) @id website_id Int session_id Int created_at DateTime? @default(now()) url String referrer String? session session @relation(fields: [session_id], references: [session_id]) website website @relation(fields: [website_id], references: [website_id]) @@index([created_at], name: "pageview_created_at_idx") @@index([session_id], name: "pageview_session_id_idx") @@index([website_id], name: "pageview_website_id_idx") } model session { session_id Int @default(autoincrement()) @id session_uuid String @unique website_id Int created_at DateTime? @default(now()) hostname String? browser String? os String? screen String? language String? country String? device String? website website @relation(fields: [website_id], references: [website_id]) event event[] pageview pageview[] @@index([created_at], name: "session_created_at_idx") @@index([website_id], name: "session_website_id_idx") } model website { website_id Int @default(autoincrement()) @id website_uuid String @unique label String created_at DateTime? @default(now()) user_id Int account account @relation(fields: [user_id], references: [user_id]) event event[] pageview pageview[] session session[] }