mirror of
https://github.com/kremalicious/umami.git
synced 2024-06-28 16:57:52 +02:00
refactor table drop
This commit is contained in:
parent
8f934c7e6c
commit
7b0d6af147
|
@ -1,5 +1,46 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE `event` ADD COLUMN `event_name` VARCHAR(50) NULL;
|
||||
-- DropForeignKey
|
||||
alter table `event` drop foreign key `event_ibfk_1`;
|
||||
alter table `event` drop foreign key `event_ibfk_2`;
|
||||
|
||||
drop index `event_created_at_idx` on `event`;
|
||||
drop index `event_session_id_idx` on `event`;
|
||||
drop index `event_website_id_idx` on `event`;
|
||||
|
||||
create index `event_old_created_at_idx` on `event` (created_at);
|
||||
create index `event_old_session_id_idx` on `event` (session_id);
|
||||
create index `event_old_website_id_idx` on `event` (website_id);
|
||||
|
||||
-- RenameTable
|
||||
rename table `event` to `_event_old`;
|
||||
|
||||
-- CreateTable
|
||||
create table `event`
|
||||
(
|
||||
event_id int unsigned auto_increment
|
||||
primary key,
|
||||
website_id int unsigned not null,
|
||||
session_id int unsigned not null,
|
||||
created_at timestamp default CURRENT_TIMESTAMP null,
|
||||
url varchar(500) not null,
|
||||
event_name varchar(50) NOT NULL,
|
||||
constraint event_ibfk_1
|
||||
foreign key (website_id) references `website` (website_id)
|
||||
on delete cascade,
|
||||
constraint event_ibfk_2
|
||||
foreign key (session_id) references `session` (session_id)
|
||||
on delete cascade
|
||||
)
|
||||
collate = utf8mb4_unicode_ci;
|
||||
|
||||
create index `event_created_at_idx`
|
||||
on `event` (created_at);
|
||||
|
||||
create index `event_session_id_idx`
|
||||
on `event` (session_id);
|
||||
|
||||
create index `event_website_id_idx`
|
||||
on `event` (website_id);
|
||||
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `event_data` (
|
||||
|
@ -25,24 +66,3 @@ ALTER TABLE `website` RENAME INDEX `share_id` TO `website_share_id_key`;
|
|||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `website` RENAME INDEX `website_uuid` TO `website_website_uuid_key`;
|
||||
|
||||
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `event_type` on the `event` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `event_value` on the `event` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- Populate event_name
|
||||
update `event`
|
||||
set event_name = event_value;
|
||||
|
||||
-- Set event_name not null
|
||||
ALTER TABLE `event`
|
||||
MODIFY `event_name` VARCHAR(50) NOT NULL;
|
||||
|
||||
-- Drop old columns
|
||||
ALTER TABLE `event`
|
||||
DROP COLUMN `event_type`,
|
||||
DROP COLUMN `event_value`;
|
|
@ -34,10 +34,10 @@ model event {
|
|||
}
|
||||
|
||||
model event_data {
|
||||
id Int @id @default(autoincrement()) @map("event_data_id")
|
||||
eventId Int @unique @map("event_id") @db.UnsignedInt
|
||||
eventData Json @map("event_data")
|
||||
event event @relation(fields: [eventId], references: [event_id])
|
||||
event_data_id Int @id @default(autoincrement())
|
||||
event_id Int @unique @db.UnsignedInt
|
||||
event_data Json
|
||||
event event @relation(fields: [event_id], references: [event_id])
|
||||
}
|
||||
|
||||
model pageview {
|
||||
|
|
|
@ -1,5 +1,42 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE event RENAME TO event_old;
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "event" DROP CONSTRAINT "event_session_id_fkey";
|
||||
ALTER TABLE "event" DROP CONSTRAINT "event_website_id_fkey";
|
||||
|
||||
-- RenameIndex
|
||||
ALTER INDEX "event_pkey" RENAME TO "event_old_pkey";
|
||||
ALTER INDEX "event_created_at_idx" RENAME TO "event_old_created_at_idx";
|
||||
ALTER INDEX "event_session_id_idx" RENAME TO "event_old_session_id_idx";
|
||||
ALTER INDEX "event_website_id_idx" RENAME TO "event_old_website_id_idx";
|
||||
|
||||
-- RenameTable
|
||||
ALTER TABLE "event" RENAME TO "_event_old";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "event" (
|
||||
"event_id" SERIAL NOT NULL,
|
||||
"website_id" INTEGER NOT NULL,
|
||||
"session_id" INTEGER NOT NULL,
|
||||
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
"url" VARCHAR(500) NOT NULL,
|
||||
"event_name" VARCHAR(50) NOT NULL,
|
||||
|
||||
PRIMARY KEY ("event_id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_created_at_idx" ON "event"("created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_session_id_idx" ON "event"("session_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "event_website_id_idx" ON "event"("website_id");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "event" ADD CONSTRAINT "event_session_id_fkey" FOREIGN KEY ("session_id") REFERENCES "session"("session_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "event" ADD CONSTRAINT "event_website_id_fkey" FOREIGN KEY ("website_id") REFERENCES "website"("website_id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "event_data" (
|
||||
|
@ -27,21 +64,3 @@ ALTER INDEX "website.share_id_unique" RENAME TO "website_share_id_key";
|
|||
|
||||
-- RenameIndex
|
||||
ALTER INDEX "website.website_uuid_unique" RENAME TO "website_website_uuid_key";
|
||||
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `event_type` on the `event` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `event_value` on the `event` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- Populate event_name
|
||||
update event
|
||||
set "event_name" = event.event_value;
|
||||
|
||||
-- Set event_name not null
|
||||
ALTER TABLE "event" ALTER COLUMN "event_name" SET NOT NULL;
|
||||
|
||||
-- Drop old columns
|
||||
ALTER TABLE "event" DROP COLUMN "event_type",
|
||||
DROP COLUMN "event_value";
|
||||
|
|
|
@ -33,11 +33,25 @@ model event {
|
|||
@@index([website_id])
|
||||
}
|
||||
|
||||
model event_old {
|
||||
event_id Int @id @default(autoincrement())
|
||||
website_id Int
|
||||
session_id Int
|
||||
created_at DateTime? @default(now()) @db.Timestamptz(6)
|
||||
url String @db.VarChar(500)
|
||||
event_type String @db.VarChar(50)
|
||||
event_value String @db.VarChar(50)
|
||||
|
||||
@@index([created_at])
|
||||
@@index([session_id])
|
||||
@@index([website_id])
|
||||
}
|
||||
|
||||
model event_data {
|
||||
id Int @id @default(autoincrement()) @map("event_data_id")
|
||||
eventId Int @unique @map("event_id")
|
||||
eventData Json @map("event_data")
|
||||
event event @relation(fields: [eventId], references: [event_id])
|
||||
id Int @id @default(autoincrement())
|
||||
event_id Int @unique
|
||||
event_data Json
|
||||
event event @relation(fields: [event_id], references: [event_id])
|
||||
}
|
||||
|
||||
model pageview {
|
||||
|
@ -70,8 +84,8 @@ model session {
|
|||
language String? @db.VarChar(35)
|
||||
country String? @db.Char(2)
|
||||
website website @relation(fields: [website_id], references: [website_id], onDelete: Cascade)
|
||||
event event[]
|
||||
pageview pageview[]
|
||||
event event[]
|
||||
|
||||
@@index([created_at])
|
||||
@@index([website_id])
|
||||
|
@ -86,9 +100,9 @@ model website {
|
|||
share_id String? @unique @db.VarChar(64)
|
||||
created_at DateTime? @default(now()) @db.Timestamptz(6)
|
||||
account account @relation(fields: [user_id], references: [user_id], onDelete: Cascade)
|
||||
event event[]
|
||||
pageview pageview[]
|
||||
session session[]
|
||||
event event[]
|
||||
|
||||
@@index([user_id])
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user