puzhibing
4 天以前 a7d9fba4c1d0b021e017abd70d1b37ba87ebae1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-- ------------------------------------------
-- 公司管理:登录账号/密码字段 + 内置公司角色 + sys_user.roleType 注释
-- 创建日期: 2026-09-28
-- 说明:
--   1. t_group_company 新增 account/password(存储前端 HMAC-MD5 加密后的登录密码)
--      注意:Mycat 2.0 不支持 SET @变量/PREPARE 条件化 DDL(会静默失效),故此处直接 ALTER;
--      执行前请先只读确认列不存在(information_schema.COLUMNS),重复执行报 Duplicate column name 属预期
--   2. sys_role 幂等补充内置角色 role_key=company(所有公司账号共享,菜单在角色管理配置)
--   3. sys_user.roleType 注释统一为 1=平台 2=合作商 3=门店 4=修理厂 5=公司
-- 库: charging_pile_other
-- ------------------------------------------
USE `charging_pile_other`;
 
-- 1. t_group_company 增加登录账号/密码字段(已只读确认当前库缺列;Mycat 2.0 不支持条件化 DDL)
ALTER TABLE `t_group_company`
    ADD COLUMN `account` varchar(255) NULL DEFAULT NULL COMMENT '登录账号' AFTER `contact_phone`;
 
ALTER TABLE `t_group_company`
    ADD COLUMN `password` varchar(255) NULL DEFAULT NULL COMMENT '登录密码(前端HMAC-MD5加密值)' AFTER `account`;
 
-- 2. 内置公司角色(幂等)
INSERT INTO sys_role (role_name, role_key, data_scope, status, del_flag, create_by, create_time, remark)
SELECT '公司', 'company', '5', '0', '0', 'admin', NOW(), '系统内置角色'
WHERE NOT EXISTS (
    SELECT 1 FROM sys_role
    WHERE del_flag = '0' AND (role_name = '公司' OR role_key = 'company')
);
 
UPDATE sys_role
SET role_name = '公司',
    role_key = 'company',
    status = '0',
    del_flag = '0',
    remark = '系统内置角色',
    update_by = 'admin',
    update_time = NOW()
WHERE role_name = '公司' OR role_key = 'company';
 
-- 3. sys_user.roleType 字段注释统一(5=公司)
ALTER TABLE `sys_user`
    MODIFY COLUMN `roleType` int NULL DEFAULT 1 COMMENT '角色类型 1=平台 2=合作商 3=门店 4=修理厂 5=公司';