37 lines
2.3 KiB
SQL
37 lines
2.3 KiB
SQL
-- ============================================================================
|
||
-- 文件对象存储:sys_config 表 + sys_file 字段扩展 + 菜单更新
|
||
-- 执行环境:QA / PROD 均需执行
|
||
-- ============================================================================
|
||
|
||
-- 1. 系统配置表
|
||
CREATE TABLE IF NOT EXISTS sys_config (
|
||
id VARCHAR(64) NOT NULL COMMENT 'UUID主键',
|
||
config_key VARCHAR(128) NOT NULL COMMENT '配置键',
|
||
config_value TEXT COMMENT '配置值',
|
||
description VARCHAR(256) COMMENT '配置说明',
|
||
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY uk_config_key (config_key)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置表';
|
||
|
||
-- 2. 种子数据:文件存储磁盘路径
|
||
INSERT IGNORE INTO sys_config (id, config_key, config_value, description, updated_at)
|
||
VALUES (REPLACE(UUID(),'-',''), 'file.storage.disk.path', '/data/mokee/gw/file', '文件对象存储磁盘根目录', NOW());
|
||
|
||
-- 3. sys_file 加字段(存储文件名 + 上传者显示名)
|
||
ALTER TABLE sys_file ADD COLUMN IF NOT EXISTS storage_file_name VARCHAR(256) DEFAULT NULL COMMENT '磁盘存储的实际文件名';
|
||
ALTER TABLE sys_file ADD COLUMN IF NOT EXISTS upload_user_name VARCHAR(64) DEFAULT NULL COMMENT '上传者显示名(用户姓名或系统名)';
|
||
|
||
-- 4. 菜单改:文件管理 → 文件对象储存
|
||
UPDATE sys_menu SET menu_name = '文件对象储存' WHERE menu_path = '/admin/file' AND menu_type = 2;
|
||
|
||
-- 5. 新增"系统配置"菜单(系统管理 > 系统配置,sortOrder=5)
|
||
INSERT INTO sys_menu (id, system_id, parent_id, menu_name, menu_type, menu_path, component, icon, sort_order, status, created_at)
|
||
SELECT REPLACE(UUID(),'-',''), m1.system_id, m1.id, '系统配置', 2, '/admin/config', 'admin/config/SystemConfig', 'Setting', 5, 1, NOW()
|
||
FROM sys_menu m1
|
||
WHERE m1.menu_name = '系统管理' AND m1.menu_type = 1 AND m1.parent_id = '0'
|
||
AND NOT EXISTS (SELECT 1 FROM sys_menu m2 WHERE m2.menu_path = '/admin/config' AND m2.menu_type = 2);
|
||
|
||
-- 6. 菜单改:旧菜单文件图标改为 FolderOpened (如果之前是默认图标)
|
||
-- UPDATE sys_menu SET icon = 'FolderOpened' WHERE menu_path = '/admin/file' AND menu_type = 2 AND icon = 'Folder';
|