38 lines
2.2 KiB
MySQL
38 lines
2.2 KiB
MySQL
|
|
-- =============================================================================
|
|||
|
|
-- 新闻中心多站点:为 f_news / f_news_category 增加 site_code
|
|||
|
|
-- 执行前请备份数据库。可与 schema 增量部署,适合在 Gitea 发版后由运维一次性执行。
|
|||
|
|
-- 固定站点编码示例:wuhansaga(主站)、saga-secondary(第二站点,可按品牌改名)
|
|||
|
|
-- =============================================================================
|
|||
|
|
|
|||
|
|
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|||
|
|
|
|||
|
|
-- 新闻分类:站点维度的栏目互相独立(不同站点可有各自一套分类及排序)
|
|||
|
|
ALTER TABLE f_news_category
|
|||
|
|
ADD COLUMN site_code VARCHAR(32) NOT NULL DEFAULT 'wuhansaga'
|
|||
|
|
COMMENT '站点编码:小写英文短码,如 wuhansaga、saga-secondary,扩展新站时仅增编码不改结构'
|
|||
|
|
AFTER category_id;
|
|||
|
|
|
|||
|
|
ALTER TABLE f_news_category
|
|||
|
|
ADD KEY idx_f_news_category_site (site_code, del_flag, is_published, sort_order);
|
|||
|
|
|
|||
|
|
-- 新闻正文:与分类 site_code 逻辑上一致;保存时业务侧校验 category 与 news 同属一站
|
|||
|
|
ALTER TABLE f_news
|
|||
|
|
ADD COLUMN site_code VARCHAR(32) NOT NULL DEFAULT 'wuhansaga'
|
|||
|
|
COMMENT '站点编码,与 f_news_category.site_code 取值域一致'
|
|||
|
|
AFTER category_id;
|
|||
|
|
|
|||
|
|
ALTER TABLE f_news
|
|||
|
|
ADD KEY idx_f_news_site_list (site_code, del_flag, is_published, category_id),
|
|||
|
|
ADD KEY idx_f_news_site_time (site_code, del_flag, is_published, create_time);
|
|||
|
|
|
|||
|
|
-- 旧数据:全部归入主站(若第二站需相同栏目结构,可复制分类再批量改 site_code / 或导数据)
|
|||
|
|
UPDATE f_news_category SET site_code = 'wuhansaga' WHERE site_code = '' OR site_code IS NULL;
|
|||
|
|
UPDATE f_news SET site_code = 'wuhansaga' WHERE site_code = '' OR site_code IS NULL;
|
|||
|
|
|
|||
|
|
-- ---------------------------------------------------------------------------
|
|||
|
|
-- 【可选】第二站点初始化分类骨架(与主站相同名称时仍需独立 category_id)
|
|||
|
|
-- ---------------------------------------------------------------------------
|
|||
|
|
-- INSERT INTO f_news_category (site_code, name_zh, name_en, sort_order, is_published)
|
|||
|
|
-- SELECT 'saga-secondary', name_zh, name_en, sort_order, is_published
|
|||
|
|
-- FROM f_news_category WHERE site_code = 'wuhansaga' AND del_flag = 0;
|