Files
yunzerwebsiteallinone/go/docs/sql/init_front_menu_defaults.sql
T
2026-09-15 10:44:31 +08:00

30 lines
1.8 KiB
SQL

-- =============================================================
-- 官网前端导航:全局默认菜单(tenant_id=0,全租户共享、不可删改)
-- 表:yz_backend_menu_front
-- 说明:
-- 默认 5 个一级导航:新闻中心 / 产品展示 / 解决方案 / 关于我们 / 联系我们。
-- 以 tenant_id=0 存放,租户端接口带 tenant_id 过滤,天然无法触碰这些行。
-- 路径对应官网前台路由:新闻中心 /news,其余为单页 /page/:path
-- (单页内容在 backend 端「单页管理」中按 path 维护)。
-- 本脚本幂等:同 tenant_id=0 下存在同名(含已软删)记录则跳过,可重复执行。
-- 如需恢复被误删的默认菜单,手动将其 delete_time 置 NULL 即可。
-- 运行:mysql --default-character-set=utf8mb4 -h<host> -P<port> -u<user> -p <db> < init_front_menu_defaults.sql
-- =============================================================
INSERT INTO `yz_backend_menu_front`
(`tenant_id`, `pid`, `title`, `path`, `component_path`, `icon`, `sort`, `status`, `is_visible`, `type`, `permission`, `create_time`, `update_time`)
SELECT v.`tenant_id`, v.`pid`, v.`title`, v.`path`, '', '', v.`sort`, 1, 1, v.`type`, '', NOW(), NOW()
FROM (
SELECT 0 AS `tenant_id`, 0 AS `pid`, '新闻中心' AS `title`, '/news' AS `path`, 1 AS `sort`, 2 AS `type`
UNION ALL SELECT 0, 0, '产品展示', '/page/products', 2, 4
UNION ALL SELECT 0, 0, '解决方案', '/page/solutions', 3, 4
UNION ALL SELECT 0, 0, '关于我们', '/page/about', 4, 4
UNION ALL SELECT 0, 0, '联系我们', '/page/contact', 5, 4
) v
WHERE NOT EXISTS (
SELECT 1 FROM `yz_backend_menu_front` m
WHERE m.`tenant_id` = 0 AND m.`title` = v.`title`
);
-- 校验:SELECT id, title, path, sort, type, delete_time FROM yz_backend_menu_front WHERE tenant_id = 0 ORDER BY sort;