mirror of
https://github.com/kremalicious/umami.git
synced 2024-06-30 21:51:59 +02:00
refactor table drop
This commit is contained in:
parent
8f934c7e6c
commit
7b0d6af147
|
@ -1,5 +1,46 @@
|
||||||
-- AlterTable
|
-- DropForeignKey
|
||||||
ALTER TABLE `event` ADD COLUMN `event_name` VARCHAR(50) NULL;
|
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
|
-- CreateTable
|
||||||
CREATE TABLE `event_data` (
|
CREATE TABLE `event_data` (
|
||||||
|
@ -25,24 +66,3 @@ ALTER TABLE `website` RENAME INDEX `share_id` TO `website_share_id_key`;
|
||||||
|
|
||||||
-- RenameIndex
|
-- RenameIndex
|
||||||
ALTER TABLE `website` RENAME INDEX `website_uuid` TO `website_website_uuid_key`;
|
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 {
|
model event_data {
|
||||||
id Int @id @default(autoincrement()) @map("event_data_id")
|
event_data_id Int @id @default(autoincrement())
|
||||||
eventId Int @unique @map("event_id") @db.UnsignedInt
|
event_id Int @unique @db.UnsignedInt
|
||||||
eventData Json @map("event_data")
|
event_data Json
|
||||||
event event @relation(fields: [eventId], references: [event_id])
|
event event @relation(fields: [event_id], references: [event_id])
|
||||||
}
|
}
|
||||||
|
|
||||||
model pageview {
|
model pageview {
|
||||||
|
|
|
@ -1,5 +1,42 @@
|
||||||
-- AlterTable
|
-- DropForeignKey
|
||||||
ALTER TABLE event RENAME TO event_old;
|
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
|
-- CreateTable
|
||||||
CREATE TABLE "event_data" (
|
CREATE TABLE "event_data" (
|
||||||
|
@ -27,21 +64,3 @@ ALTER INDEX "website.share_id_unique" RENAME TO "website_share_id_key";
|
||||||
|
|
||||||
-- RenameIndex
|
-- RenameIndex
|
||||||
ALTER INDEX "website.website_uuid_unique" RENAME TO "website_website_uuid_key";
|
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])
|
@@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 {
|
model event_data {
|
||||||
id Int @id @default(autoincrement()) @map("event_data_id")
|
id Int @id @default(autoincrement())
|
||||||
eventId Int @unique @map("event_id")
|
event_id Int @unique
|
||||||
eventData Json @map("event_data")
|
event_data Json
|
||||||
event event @relation(fields: [eventId], references: [event_id])
|
event event @relation(fields: [event_id], references: [event_id])
|
||||||
}
|
}
|
||||||
|
|
||||||
model pageview {
|
model pageview {
|
||||||
|
@ -70,8 +84,8 @@ model session {
|
||||||
language String? @db.VarChar(35)
|
language String? @db.VarChar(35)
|
||||||
country String? @db.Char(2)
|
country String? @db.Char(2)
|
||||||
website website @relation(fields: [website_id], references: [website_id], onDelete: Cascade)
|
website website @relation(fields: [website_id], references: [website_id], onDelete: Cascade)
|
||||||
event event[]
|
|
||||||
pageview pageview[]
|
pageview pageview[]
|
||||||
|
event event[]
|
||||||
|
|
||||||
@@index([created_at])
|
@@index([created_at])
|
||||||
@@index([website_id])
|
@@index([website_id])
|
||||||
|
@ -86,9 +100,9 @@ model website {
|
||||||
share_id String? @unique @db.VarChar(64)
|
share_id String? @unique @db.VarChar(64)
|
||||||
created_at DateTime? @default(now()) @db.Timestamptz(6)
|
created_at DateTime? @default(now()) @db.Timestamptz(6)
|
||||||
account account @relation(fields: [user_id], references: [user_id], onDelete: Cascade)
|
account account @relation(fields: [user_id], references: [user_id], onDelete: Cascade)
|
||||||
event event[]
|
|
||||||
pageview pageview[]
|
pageview pageview[]
|
||||||
session session[]
|
session session[]
|
||||||
|
event event[]
|
||||||
|
|
||||||
@@index([user_id])
|
@@index([user_id])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user