umami/db/mysql/migrations/02_add_event_data/migration.sql
2022-08-01 12:22:17 -07:00

68 lines
2.2 KiB
SQL

-- 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` (
`event_data_id` INTEGER NOT NULL AUTO_INCREMENT,
`event_id` INTEGER UNSIGNED NOT NULL,
`event_data` JSON NOT NULL,
UNIQUE INDEX `event_data_event_id_key`(`event_id`),
PRIMARY KEY (`event_data_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `event_data` ADD CONSTRAINT `event_data_event_id_fkey` FOREIGN KEY (`event_id`) REFERENCES `event`(`event_id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- RenameIndex
ALTER TABLE `account` RENAME INDEX `username` TO `account_username_key`;
-- RenameIndex
ALTER TABLE `session` RENAME INDEX `session_uuid` TO `session_session_uuid_key`;
-- RenameIndex
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`;