-- ============================================================ -- 将 ylrz_saas.sys_menu 的数据迁移到 ylrz_saas.tenant_sys_menu -- 将 ylrz_saas.company_menu 的数据迁移到 ylrz_saas.tenant_company_menu -- 目的:租户初始化动态拷贝的表统一为 tenant_sys_menu + tenant_company_menu -- 不再直接依赖 sys_menu / company_menu(仅用于 admin 总后台路由) -- ============================================================ -- 1. 创建 tenant_sys_menu 表(结构同 sys_menu) CREATE TABLE IF NOT EXISTS `tenant_sys_menu` ( `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', `parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID', `order_num` int NULL DEFAULT 0 COMMENT '显示顺序', `path` varchar(200) NULL DEFAULT '' COMMENT '路由地址', `component` varchar(255) NULL DEFAULT NULL COMMENT '组件路径', `query` varchar(255) NULL DEFAULT NULL COMMENT '路由参数', `is_frame` int NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', `is_cache` int NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', `menu_type` char(1) NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', `visible` char(1) NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', `status` char(1) NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', `perms` varchar(100) NULL DEFAULT NULL COMMENT '权限标识', `icon` varchar(100) NULL DEFAULT '#' COMMENT '菜单图标', `create_by` varchar(64) NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) NULL DEFAULT '' COMMENT '备注', PRIMARY KEY (`menu_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2922 COMMENT = '租户菜单模板表(新租户创建时从此表复制)' ROW_FORMAT = Dynamic; -- 2. 从 sys_menu 拷贝数据到 tenant_sys_menu(仅首次,忽略已存在的记录) INSERT IGNORE INTO `tenant_sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) SELECT `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark` FROM `sys_menu`; -- 3. 从 company_menu 拷贝数据到 tenant_company_menu(仅首次,忽略已存在的记录) INSERT IGNORE INTO `tenant_company_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `company_id`) SELECT `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `company_id` FROM `company_menu`;