-- ============================================================
-- 将 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`;
