mirror of
https://github.com/umami-software/umami.git
synced 2025-12-08 05:12:36 +01:00
99 lines
No EOL
2.6 KiB
SQL
99 lines
No EOL
2.6 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "report" ALTER COLUMN "type" SET DATA TYPE VARCHAR(50);
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "revenue" ALTER COLUMN "currency" SET DATA TYPE VARCHAR(10);
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "segment" ALTER COLUMN "type" SET DATA TYPE VARCHAR(50);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "link" (
|
|
"link_id" UUID NOT NULL,
|
|
"name" VARCHAR(100) NOT NULL,
|
|
"url" VARCHAR(500) NOT NULL,
|
|
"slug" VARCHAR(100) NOT NULL,
|
|
"user_id" UUID,
|
|
"team_id" UUID,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMPTZ(6),
|
|
"deleted_at" TIMESTAMPTZ(6),
|
|
|
|
CONSTRAINT "link_pkey" PRIMARY KEY ("link_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "pixel" (
|
|
"pixel_id" UUID NOT NULL,
|
|
"name" VARCHAR(100) NOT NULL,
|
|
"slug" VARCHAR(100) NOT NULL,
|
|
"user_id" UUID,
|
|
"team_id" UUID,
|
|
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMPTZ(6),
|
|
"deleted_at" TIMESTAMPTZ(6),
|
|
|
|
CONSTRAINT "pixel_pkey" PRIMARY KEY ("pixel_id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "link_link_id_key" ON "link"("link_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "link_slug_key" ON "link"("slug");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "link_slug_idx" ON "link"("slug");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "link_user_id_idx" ON "link"("user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "link_team_id_idx" ON "link"("team_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "link_created_at_idx" ON "link"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "pixel_pixel_id_key" ON "pixel"("pixel_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "pixel_slug_key" ON "pixel"("slug");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pixel_slug_idx" ON "pixel"("slug");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pixel_user_id_idx" ON "pixel"("user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pixel_team_id_idx" ON "pixel"("team_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "pixel_created_at_idx" ON "pixel"("created_at");
|
|
|
|
-- DataMigration
|
|
UPDATE "report"
|
|
SET parameters = parameters - 'websiteId' - 'dateRange'
|
|
WHERE type = 'funnel';
|
|
|
|
INSERT INTO "report" (report_id, user_id, website_id, type, name, description, parameters, created_at, updated_at)
|
|
SELECT gen_random_uuid(),
|
|
user_id,
|
|
website_id,
|
|
'goal',
|
|
concat(name, ' - ', elem ->> 'value'),
|
|
description,
|
|
jsonb_build_object(
|
|
'type', CASE WHEN elem ->> 'type' = 'url' THEN 'path'
|
|
ELSE elem ->> 'type' END,
|
|
'value', elem ->> 'value'
|
|
) AS parameters,
|
|
created_at,
|
|
updated_at
|
|
FROM "report"
|
|
CROSS JOIN LATERAL jsonb_array_elements(parameters -> 'goals') elem
|
|
WHERE elem ->> 'type' IN ('event', 'url')
|
|
and type = 'goal';
|
|
|
|
DELETE FROM "report" WHERE parameters ? 'goals' and type = 'goal'; |