-- alerts 0001: create_alerts -- Generated by termix-plugin migrations. Review before committing. CREATE TABLE IF NOT EXISTS `p_alerts_channels` ( `id` int AUTO_INCREMENT PRIMARY KEY, `user_id` varchar(255) NOT NULL, `name` text NOT NULL, `type` varchar(32) NOT NULL, `config` text, `enabled` boolean NOT NULL DEFAULT true, `created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP), `updated_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ); CREATE INDEX `idx_alerts_channels_user` ON `p_alerts_channels` (`user_id`); CREATE TABLE IF NOT EXISTS `p_alerts_items` ( `id` int AUTO_INCREMENT PRIMARY KEY, `user_id` varchar(255) NOT NULL, `source` varchar(64) NOT NULL, `category` varchar(128) NOT NULL, `severity` varchar(16) NOT NULL, `title` text NOT NULL, `body` text, `link` text, `context` text, `dedupe_key` varchar(255), `deliveries` text, `read_at` varchar(255), `created_at` varchar(255) NOT NULL DEFAULT (CURRENT_TIMESTAMP), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ); CREATE INDEX `idx_alerts_items_user` ON `p_alerts_items` (`user_id`, `created_at`); CREATE INDEX `idx_alerts_items_unread` ON `p_alerts_items` (`user_id`, `read_at`); CREATE INDEX `idx_alerts_items_dedupe` ON `p_alerts_items` (`user_id`, `dedupe_key`); CREATE TABLE IF NOT EXISTS `p_alerts_rules` ( `id` int AUTO_INCREMENT PRIMARY KEY, `user_id` varchar(255) NOT NULL, `name` text NOT NULL, `pattern` varchar(128) NOT NULL DEFAULT '*', `min_severity` varchar(16) NOT NULL DEFAULT 'warning', `channel_ids` text NOT NULL, `enabled` boolean NOT NULL DEFAULT true, `created_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ); CREATE INDEX `idx_alerts_rules_user` ON `p_alerts_rules` (`user_id`); CREATE TABLE IF NOT EXISTS `dismissed_alerts` ( `id` int AUTO_INCREMENT PRIMARY KEY, `user_id` varchar(255) NOT NULL, `alert_id` text NOT NULL, `dismissed_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP), FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ); RENAME TABLE `dismissed_alerts` TO `p_alerts_dismissed`;