mirror of
https://github.com/umami-software/umami.git
synced 2026-02-04 04:37:11 +01:00
Feat/um 202 event data new (#1841)
* Add event_data base. * Add url_path. * Add eventData back. * Finish event_data relational. * resolve comments.
This commit is contained in:
parent
c2789d70bc
commit
9979672de5
27 changed files with 719 additions and 130 deletions
|
|
@ -1,38 +0,0 @@
|
|||
-- CreateTable
|
||||
CREATE TABLE "event_data" (
|
||||
"event_id" UUID NOT NULL,
|
||||
"website_event_id" UUID NOT NULL,
|
||||
"website_id" UUID NOT NULL,
|
||||
"session_id" UUID NOT NULL,
|
||||
"url_path" VARCHAR(500) NOT NULL,
|
||||
"event_name" VARCHAR(500) NOT NULL,
|
||||
"event_key" VARCHAR(500) NOT NULL,
|
||||
"event_string_value" VARCHAR(500) NOT NULL,
|
||||
"event_numeric_value" DECIMAL(19,4) NOT NULL,
|
||||
"event_date_value" TIMESTAMPTZ(6),
|
||||
"event_data_type" INTEGER NOT NULL,
|
||||
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "event_data_pkey" PRIMARY KEY ("event_id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_created_at_idx" ON "event_data"("created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_session_id_idx" ON "event_data"("session_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_id_idx" ON "event_data"("website_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_event_id_idx" ON "event_data"("website_event_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_id_website_event_id_created_at_idx" ON "event_data"("website_id", "website_event_id", "created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_id_session_id_created_at_idx" ON "event_data"("website_id", "session_id", "created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_id_session_id_website_event_id_created_a_idx" ON "event_data"("website_id", "session_id", "website_event_id", "created_at");
|
||||
23
db/postgresql/migrations/09_event_data/migration.sql
Normal file
23
db/postgresql/migrations/09_event_data/migration.sql
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
-- CreateTable
|
||||
CREATE TABLE "event_data" (
|
||||
"event_id" UUID NOT NULL,
|
||||
"website_id" UUID NOT NULL,
|
||||
"website_event_id" UUID NOT NULL,
|
||||
"event_key" VARCHAR(500) NOT NULL,
|
||||
"event_string_value" VARCHAR(500),
|
||||
"event_numeric_value" DECIMAL(19,4),
|
||||
"event_date_value" TIMESTAMPTZ(6),
|
||||
"event_data_type" INTEGER NOT NULL,
|
||||
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "event_data_pkey" PRIMARY KEY ("event_id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_created_at_idx" ON "event_data"("created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_id_idx" ON "event_data"("website_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_data_website_event_id_idx" ON "event_data"("website_event_id");
|
||||
|
|
@ -39,7 +39,6 @@ model Session {
|
|||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
|
||||
websiteEvent WebsiteEvent[]
|
||||
eventData EventData[]
|
||||
|
||||
@@index([createdAt])
|
||||
@@index([websiteId])
|
||||
|
|
@ -94,29 +93,21 @@ model WebsiteEvent {
|
|||
|
||||
model EventData {
|
||||
id String @id() @map("event_id") @db.Uuid
|
||||
websiteEventId String @map("website_event_id") @db.Uuid
|
||||
websiteId String @map("website_id") @db.Uuid
|
||||
sessionId String @map("session_id") @db.Uuid
|
||||
urlPath String @map("url_path") @db.VarChar(500)
|
||||
eventName String @map("event_name") @db.VarChar(500)
|
||||
websiteEventId String @map("website_event_id") @db.Uuid
|
||||
eventKey String @map("event_key") @db.VarChar(500)
|
||||
eventStringValue String @map("event_string_value") @db.VarChar(500)
|
||||
eventNumericValue Decimal @map("event_numeric_value") @db.Decimal(19,4)
|
||||
eventStringValue String? @map("event_string_value") @db.VarChar(500)
|
||||
eventNumericValue Decimal? @map("event_numeric_value") @db.Decimal(19, 4)
|
||||
eventDateValue DateTime? @map("event_date_value") @db.Timestamptz(6)
|
||||
eventDataType Int @map("event_data_type") @db.Integer
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
|
||||
website Website @relation(fields: [websiteId], references: [id])
|
||||
websiteEvent WebsiteEvent @relation(fields: [websiteEventId], references: [id])
|
||||
session Session @relation(fields: [sessionId], references: [id])
|
||||
|
||||
@@index([createdAt])
|
||||
@@index([sessionId])
|
||||
@@index([websiteId])
|
||||
@@index([websiteEventId])
|
||||
@@index([websiteId, websiteEventId, createdAt])
|
||||
@@index([websiteId, sessionId, createdAt])
|
||||
@@index([websiteId, sessionId, websiteEventId, createdAt])
|
||||
@@map("event_data")
|
||||
}
|
||||
|
||||
|
|
@ -162,4 +153,4 @@ model TeamWebsite {
|
|||
@@index([teamId])
|
||||
@@index([websiteId])
|
||||
@@map("team_website")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue