diff --git a/prisma/migrations/15_boards/migration.sql b/prisma/migrations/15_boards/migration.sql new file mode 100644 index 00000000..09608c5f --- /dev/null +++ b/prisma/migrations/15_boards/migration.sql @@ -0,0 +1,33 @@ +-- CreateTable +CREATE TABLE "board" ( + "board_id" UUID NOT NULL, + "type" VARCHAR(50) NOT NULL, + "name" VARCHAR(200) NOT NULL, + "description" VARCHAR(500) NOT NULL, + "parameters" JSONB NOT NULL, + "slug" VARCHAR(100) NOT NULL, + "user_id" UUID, + "team_id" UUID, + "created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMPTZ(6), + + CONSTRAINT "board_pkey" PRIMARY KEY ("board_id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "board_board_id_key" ON "board"("board_id"); + +-- CreateIndex +CREATE UNIQUE INDEX "board_slug_key" ON "board"("slug"); + +-- CreateIndex +CREATE INDEX "board_slug_idx" ON "board"("slug"); + +-- CreateIndex +CREATE INDEX "board_user_id_idx" ON "board"("user_id"); + +-- CreateIndex +CREATE INDEX "board_team_id_idx" ON "board"("team_id"); + +-- CreateIndex +CREATE INDEX "board_created_at_idx" ON "board"("created_at"); diff --git a/prisma/migrations/16_update_website_event_length/migration.sql b/prisma/migrations/16_update_website_event_length/migration.sql new file mode 100644 index 00000000..06dd57a6 --- /dev/null +++ b/prisma/migrations/16_update_website_event_length/migration.sql @@ -0,0 +1,16 @@ +-- AlterTable +ALTER TABLE "website_event" ALTER COLUMN "url_path" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "url_query" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "referrer_path" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "referrer_query" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "fbclid" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "gclid" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "li_fat_id" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "msclkid" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "ttclid" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "twclid" SET DATA TYPE VARCHAR(1024), +ALTER COLUMN "utm_campaign" SET DATA TYPE VARCHAR(512), +ALTER COLUMN "utm_content" SET DATA TYPE VARCHAR(512), +ALTER COLUMN "utm_medium" SET DATA TYPE VARCHAR(512), +ALTER COLUMN "utm_source" SET DATA TYPE VARCHAR(512), +ALTER COLUMN "utm_term" SET DATA TYPE VARCHAR(512); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index aeb11648..c0e87e7a 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -27,6 +27,7 @@ model User { pixels Pixel[] @relation("user") teams TeamUser[] reports Report[] + boards Board[] @relation("user") @@map("user") } @@ -99,23 +100,23 @@ model WebsiteEvent { sessionId String @map("session_id") @db.Uuid visitId String @map("visit_id") @db.Uuid createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6) - urlPath String @map("url_path") @db.VarChar(500) - urlQuery String? @map("url_query") @db.VarChar(500) - utmSource String? @map("utm_source") @db.VarChar(255) - utmMedium String? @map("utm_medium") @db.VarChar(255) - utmCampaign String? @map("utm_campaign") @db.VarChar(255) - utmContent String? @map("utm_content") @db.VarChar(255) - utmTerm String? @map("utm_term") @db.VarChar(255) - referrerPath String? @map("referrer_path") @db.VarChar(500) - referrerQuery String? @map("referrer_query") @db.VarChar(500) + urlPath String @map("url_path") @db.VarChar(1024) + urlQuery String? @map("url_query") @db.VarChar(1024) + utmSource String? @map("utm_source") @db.VarChar(512) + utmMedium String? @map("utm_medium") @db.VarChar(512) + utmCampaign String? @map("utm_campaign") @db.VarChar(512) + utmContent String? @map("utm_content") @db.VarChar(512) + utmTerm String? @map("utm_term") @db.VarChar(512) + referrerPath String? @map("referrer_path") @db.VarChar(1024) + referrerQuery String? @map("referrer_query") @db.VarChar(1024) referrerDomain String? @map("referrer_domain") @db.VarChar(500) pageTitle String? @map("page_title") @db.VarChar(500) - gclid String? @db.VarChar(255) - fbclid String? @db.VarChar(255) - msclkid String? @db.VarChar(255) - ttclid String? @db.VarChar(255) - lifatid String? @map("li_fat_id") @db.VarChar(255) - twclid String? @db.VarChar(255) + gclid String? @db.VarChar(1024) + fbclid String? @db.VarChar(1024) + msclkid String? @db.VarChar(1024) + ttclid String? @db.VarChar(1024) + lifatid String? @map("li_fat_id") @db.VarChar(1024) + twclid String? @db.VarChar(1024) eventType Int @default(1) @map("event_type") @db.Integer eventName String? @map("event_name") @db.VarChar(50) tag String? @db.VarChar(50) @@ -199,6 +200,7 @@ model Team { members TeamUser[] links Link[] pixels Pixel[] + boards Board[] @@index([accessCode]) @@map("team") @@ -316,3 +318,25 @@ model Pixel { @@index([createdAt]) @@map("pixel") } + +model Board { + id String @id() @unique() @map("board_id") @db.Uuid + type String @db.VarChar(50) + name String @db.VarChar(200) + description String @db.VarChar(500) + parameters Json + slug String @unique() @db.VarChar(100) + userId String? @map("user_id") @db.Uuid + teamId String? @map("team_id") @db.Uuid + createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6) + updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6) + + user User? @relation("user", fields: [userId], references: [id]) + team Team? @relation(fields: [teamId], references: [id]) + + @@index([slug]) + @@index([userId]) + @@index([teamId]) + @@index([createdAt]) + @@map("board") +} \ No newline at end of file