-- ============================================================ -- 04_news.sql -- 新闻管理:文章 CRUD、相关推荐 -- 对应 proposal.md 第 5 节 -- ============================================================ -- ----------------------------------------------------------- -- 5.1 新闻文章 -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS `www_news_articles` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `title_zh` VARCHAR(200) NOT NULL COMMENT '文章标题(中文)', `title_en` VARCHAR(200) NOT NULL COMMENT '文章标题(英文)', `slug` VARCHAR(200) NOT NULL COMMENT 'URL 路径标识,如 new-product-launch', `summary_zh` VARCHAR(300) NOT NULL DEFAULT '' COMMENT '文章摘要(中文,≤100字)', `summary_en` VARCHAR(300) NOT NULL DEFAULT '' COMMENT '文章摘要(英文)', `cover_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '封面图路径(16:9)', `content_zh` MEDIUMTEXT COMMENT '正文内容(中文,富文本)', `content_en` MEDIUMTEXT COMMENT '正文内容(英文,富文本)', `status` VARCHAR(20) NOT NULL DEFAULT 'draft' COMMENT '发布状态: draft / published / offline', `published_at` DATETIME DEFAULT NULL COMMENT '发布时间(可为未来时间,定时发布)', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_slug` (`slug`), KEY `idx_status` (`status`, `published_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='新闻文章'; -- ----------------------------------------------------------- -- 5.2 文章相关推荐(手动指定,最多 3 篇) -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS `www_news_recommendations` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `article_id` BIGINT UNSIGNED NOT NULL COMMENT '文章 ID', `recommended_id` BIGINT UNSIGNED NOT NULL COMMENT '推荐文章 ID', `sort_order` INT NOT NULL DEFAULT 0 COMMENT '推荐排序', PRIMARY KEY (`id`), UNIQUE KEY `uk_article_recommended` (`article_id`, `recommended_id`), KEY `idx_article` (`article_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文章手动推荐关联';