Feat/um 49 query builder api (#1573)

* add uuid to event. add indexes

* eventdata api

* add event data

* remove test data

* update list
This commit is contained in:
Brian Cao 2022-10-21 21:33:23 -07:00 committed by GitHub
parent 9c36dc485e
commit ba31f48f1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 690 additions and 64 deletions

View file

@ -1,11 +0,0 @@
-- AlterTable
ALTER TABLE `account` ADD COLUMN `account_uuid` VARCHAR(36);
-- Backfill UUID
UPDATE `account` SET account_uuid=(SELECT uuid());
-- AlterTable
ALTER TABLE `account` MODIFY `account_uuid` VARCHAR(36) NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX `account_account_uuid_key` ON `account`(`account_uuid`);

View file

@ -0,0 +1,35 @@
-- AlterTable
ALTER TABLE `account` ADD COLUMN `account_uuid` VARCHAR(36);
-- Backfill UUID
UPDATE `account` SET account_uuid=(SELECT uuid());
-- AlterTable
ALTER TABLE `account` MODIFY `account_uuid` VARCHAR(36) NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX `account_account_uuid_key` ON `account`(`account_uuid`);
-- AlterTable
ALTER TABLE `event` ADD COLUMN `event_uuid` VARCHAR(36);
-- Backfill UUID
UPDATE `event` SET event_uuid=(SELECT uuid());
-- AlterTable
ALTER TABLE `event` MODIFY `event_uuid` VARCHAR(36) NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX `event_event_uuid_key` ON `event`(`event_uuid`);
-- CreateIndex
CREATE INDEX `account_account_uuid_idx` ON `account`(`account_uuid`);
-- CreateIndex
CREATE INDEX `session_session_uuid_idx` ON `session`(`session_uuid`);
-- CreateIndex
CREATE INDEX `website_website_uuid_idx` ON `website`(`website_uuid`);
-- CreateIndex
CREATE INDEX `event_event_uuid_idx` ON `event`(`event_uuid`);

View file

@ -16,6 +16,8 @@ model account {
updatedAt DateTime? @default(now()) @map("updated_at") @db.Timestamp(0)
accountUuid String @unique() @map("account_uuid") @db.VarChar(36)
website website[]
@@index([accountUuid])
}
model event {
@ -25,6 +27,7 @@ model event {
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
url String @db.VarChar(500)
eventName String @map("event_name") @db.VarChar(50)
eventUuid String @unique() @map("event_uuid") @db.VarChar(36)
session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [websiteId], references: [id])
eventData eventData?
@ -32,6 +35,7 @@ model event {
@@index([createdAt])
@@index([sessionId])
@@index([websiteId])
@@index([eventUuid])
}
model eventData {
@ -78,6 +82,7 @@ model session {
@@index([createdAt])
@@index([websiteId])
@@index([sessionUuid])
}
model website {
@ -94,4 +99,5 @@ model website {
session session[]
@@index([userId])
@@index([websiteUuid])
}

View file

@ -11,6 +11,18 @@ ALTER TABLE "account" ALTER COLUMN "account_uuid" SET NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX "account_account_uuid_key" ON "account"("account_uuid");
-- AlterTable
ALTER TABLE "event" ADD COLUMN "event_uuid" UUID NULL;
-- Backfill UUID
UPDATE "event" SET event_uuid = gen_random_uuid();
-- AlterTable
ALTER TABLE "event" ALTER COLUMN "event_uuid" SET NOT NULL;
-- CreateIndex
CREATE UNIQUE INDEX "event_event_uuid_key" ON "event"("event_uuid");
-- CreateIndex
CREATE INDEX "account_account_uuid_idx" ON "account"("account_uuid");
@ -18,4 +30,7 @@ CREATE INDEX "account_account_uuid_idx" ON "account"("account_uuid");
CREATE INDEX "session_session_uuid_idx" ON "session"("session_uuid");
-- CreateIndex
CREATE INDEX "website_website_uuid_idx" ON "website"("website_uuid");
CREATE INDEX "website_website_uuid_idx" ON "website"("website_uuid");
-- CreateIndex
CREATE INDEX "event_event_uuid_idx" ON "event"("event_uuid");

View file

@ -16,6 +16,8 @@ model account {
updatedAt DateTime? @default(now()) @map("updated_at") @db.Timestamptz(6)
accountUuid String @unique @map("account_uuid") @db.Uuid
website website[]
@@index([accountUuid])
}
model event {
@ -25,6 +27,7 @@ model event {
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
url String @db.VarChar(500)
eventName String @map("event_name") @db.VarChar(50)
eventUuid String @unique @map("event_uuid") @db.Uuid
session session @relation(fields: [sessionId], references: [id])
website website @relation(fields: [websiteId], references: [id])
eventData eventData?
@ -32,6 +35,7 @@ model event {
@@index([createdAt])
@@index([sessionId])
@@index([websiteId])
@@index([eventUuid])
}
model eventData {
@ -78,6 +82,7 @@ model session {
@@index([createdAt])
@@index([websiteId])
@@index([sessionUuid])
}
model website {
@ -94,4 +99,5 @@ model website {
session session[]
@@index([userId])
@@index([websiteUuid])
}