diff --git a/migrations/20230812111348_orphan_reminders.sql b/migrations/20230812111348_orphan_reminders.sql new file mode 100644 index 0000000..a2f7c19 --- /dev/null +++ b/migrations/20230812111348_orphan_reminders.sql @@ -0,0 +1,21 @@ +-- Drop existing constraint +-- TODO +ALTER TABLE `reminders` DROP CONSTRAINT `channel_id_` + +ALTER TABLE `reminders` MODIFY COLUMN `channel_id` BIGINT ; +ALTER TABLE `reminders` ADD COLUMN `guild_id` BIGINT; + +ALTER TABLE `reminders` + ADD CONSTRAINT `guild_id_fk` + FOREIGN KEY (`guild_id`) + REFERENCES `guilds`(`id`) + ON DELETE CASCADE; + +ALTER TABLE `reminders` + ADD CONSTRAINT `channel_id_fk` + FOREIGN KEY (`channel_id`) + REFERENCES `channels`(`id`) + ON DELETE SET NULL; + +-- TODO +UPDATE `reminders` SET `guild_id` = (SELECT guilds.`id` FROM `channels` INNER JOIN `guilds` ON channels.guild_id = guilds.id WHERE )