Files
fad_oa/sql/fad_rm_migration_layer1.sql
2026-06-17 09:34:06 +08:00

67 lines
4.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ==========================================================
-- 轧机模块 Layer 1项目权限与主人制
-- 目的:添加 manager_id 外键、创建项目成员表
-- 说明:这些变更已在开发环境在线执行,本文件供新环境初始化或追溯使用
-- ==========================================================
-- 前提fad_rm_project 表已存在(基础模块表)
-- ==========================================================
-- ----------------------------------------------------------
-- 1. fad_rm_project — 添加 manager_id 字段
-- ----------------------------------------------------------
ALTER TABLE `fad_rm_project`
ADD COLUMN `manager_id` BIGINT DEFAULT NULL COMMENT '项目经理用户ID关联sys_user.user_id'
AFTER `manager`;
-- ----------------------------------------------------------
-- 2. 创建项目成员表
-- ----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `fad_rm_project_member` (
`member_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '成员ID',
`project_id` BIGINT NOT NULL COMMENT '项目ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`role` VARCHAR(50) DEFAULT 'member' COMMENT '角色: manager/member/viewer',
`create_by` VARCHAR(64) DEFAULT '' COMMENT '创建者',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` VARCHAR(64) DEFAULT '' COMMENT '更新者',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`del_flag` INT DEFAULT 0 COMMENT '删除标志',
PRIMARY KEY (`member_id`),
UNIQUE KEY `uk_project_user` (`project_id`, `user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='项目成员表';
-- ----------------------------------------------------------
-- 3. fad_rm_drawing_compare — 补齐缺失字段
-- ----------------------------------------------------------
ALTER TABLE `fad_rm_drawing_compare`
ADD COLUMN `optimizer` VARCHAR(50) DEFAULT NULL COMMENT '优化人' AFTER `new_version`,
ADD COLUMN `compare_date` DATE DEFAULT NULL COMMENT '比较日期' AFTER `optimizer`,
ADD COLUMN `status` VARCHAR(20) DEFAULT 'pending' COMMENT '状态' AFTER `compare_date`,
ADD COLUMN `before_desc` TEXT DEFAULT NULL COMMENT '优化前描述' AFTER `status`,
ADD COLUMN `after_desc` TEXT DEFAULT NULL COMMENT '优化后描述' AFTER `before_desc`;
-- ----------------------------------------------------------
-- 4. sys_menu — 添加项目预算菜单条目(路由注册)
-- ----------------------------------------------------------
-- 注menu_id 使用 MAX(menu_id)+1 生成,避免冲突
-- 新环境首次导入时需先查询 MAX(menu_id) 或使用自增主键
INSERT INTO `sys_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`)
SELECT MAX(`menu_id`) + 1, '项目预算', 2065320360688402434, 2, 'budget', 'rm/budget/index', 1, 0, 'C', '0', '0', NULL, 'el-icon-coin', 'admin', NOW()
FROM `sys_menu`;
-- ----------------------------------------------------------
-- 5. 修正:采购与合同/图纸与资料/发货与安装 父菜单 component 修复
-- ----------------------------------------------------------
-- 这三个父菜单的 component 被误设为 'Layout',导致点击后内嵌整个布局造成双层侧边栏
UPDATE `sys_menu` SET `component` = 'ParentView'
WHERE `menu_id` IN (
2064586808972374030, -- 采购与合同
2064586808972374040, -- 图纸与资料
2064586808972374050 -- 发货与安装
);
-- ----------------------------------------------------------
-- 6. 索引补充(确保所有 fad_rm_* 表有 project_id 索引)
-- ----------------------------------------------------------
-- fad_rm_project_member 已通过 UNIQUE KEY 覆盖,不再添加额外索引