Files
bi-descomplicar/prisma/schema.prisma
Emanuel Almeida dfa0180514 Fix: Restore DATABASE_URL in schema.prisma
Prisma 7 ainda precisa de url = env("DATABASE_URL") no datasource
Sem prisma.config.ts, a URL vem do schema + .env

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 18:20:13 +00:00

86 lines
2.9 KiB
Plaintext

// Prisma schema for BI Descomplicar
// Maps to existing PostgreSQL staging database
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
schemas = ["staging"]
}
generator client {
provider = "prisma-client-js"
previewFeatures = ["multiSchema"]
}
// Sites configuration
model Site {
id Int @id @default(autoincrement())
siteName String @map("site_name")
ga4PropertyId String? @map("ga4_property_id")
gscSiteUrl String? @map("gsc_site_url")
deskProjectId Int? @map("desk_project_id")
deskClientId Int? @map("desk_client_id")
active Boolean @default(true)
@@map("sites_config")
@@schema("staging")
}
// GA4 Daily Traffic
model GA4DailyTraffic {
id Int @id @default(autoincrement())
propertyId String @map("property_id")
siteName String? @map("site_name")
date DateTime @db.Date
pagePath String? @map("page_path")
activeUsers Int @default(0) @map("active_users")
sessions Int @default(0)
pageViews Int @default(0) @map("page_views")
engagementRate Decimal @default(0) @map("engagement_rate") @db.Decimal(5, 4)
avgSessionDuration Decimal @default(0) @map("avg_session_duration") @db.Decimal(10, 2)
bounceRate Decimal @default(0) @map("bounce_rate") @db.Decimal(5, 4)
newUsers Int @default(0) @map("new_users")
createdAt DateTime @default(now()) @map("created_at")
@@unique([propertyId, date, pagePath])
@@map("ga4_daily_traffic")
@@schema("staging")
}
// GA4 Traffic Sources
model GA4TrafficSources {
id Int @id @default(autoincrement())
propertyId String @map("property_id")
siteName String? @map("site_name")
date DateTime @db.Date
sessionSource String? @map("session_source")
sessionMedium String? @map("session_medium")
sessionCampaign String? @map("session_campaign")
sessions Int @default(0)
newUsers Int @default(0) @map("new_users")
engagedSessions Int @default(0) @map("engaged_sessions")
createdAt DateTime @default(now()) @map("created_at")
@@unique([propertyId, date, sessionSource, sessionMedium])
@@map("ga4_traffic_sources")
@@schema("staging")
}
// GSC Search Performance
model GSCSearchPerformance {
id Int @id @default(autoincrement())
siteUrl String @map("site_url")
date DateTime @db.Date
query String
page String?
clicks Int @default(0)
impressions Int @default(0)
ctr Decimal @default(0) @db.Decimal(5, 4)
position Decimal @default(0) @db.Decimal(6, 2)
createdAt DateTime @default(now()) @map("created_at")
@@unique([siteUrl, date, query, page])
@@map("gsc_search_performance")
@@schema("staging")
}