CREATE TABLE `rss_feeds` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `type` enum('royalroad','gitea') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `rss_feed` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `last_entry` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `active` tinyint(1) NOT NULL DEFAULT '1', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uq_rss_feed` (`rss_feed`), KEY `idx_active_type` (`active`,`type`) ) CREATE TABLE `rss_feed_subscriptions` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL, `rss_feed_id` int(10) unsigned NOT NULL, `feed_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `active` tinyint(1) NOT NULL DEFAULT '1', `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uq_user_feed` (`user_id`,`rss_feed_id`), KEY `idx_feed_active` (`rss_feed_id`,`active`), CONSTRAINT `fk_sub_feed` FOREIGN KEY (`rss_feed_id`) REFERENCES `rss_feeds` (`id`) ON DELETE CASCADE, CONSTRAINT `fk_sub_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE )