86 lines
5.1 KiB
SQL
86 lines
5.1 KiB
SQL
-- sys_data_migration + menu under tool (parent menu_id=3).
|
|
SET NAMES utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS sys_data_migration (
|
|
migration_id bigint(20) NOT NULL AUTO_INCREMENT,
|
|
migration_name varchar(100) NOT NULL COMMENT '脚本名称',
|
|
sql_text mediumtext NOT NULL COMMENT 'SQL 文本',
|
|
cron_expression varchar(255) DEFAULT NULL COMMENT 'Quartz Cron 表达式',
|
|
status char(1) NOT NULL DEFAULT '1' COMMENT '0启用调度 1停用',
|
|
job_id bigint(20) DEFAULT NULL COMMENT '关联 sys_job.job_id',
|
|
last_run_time datetime DEFAULT NULL COMMENT '最近执行时间',
|
|
last_run_status char(1) DEFAULT NULL COMMENT '0成功 1失败',
|
|
last_run_message varchar(2000) DEFAULT NULL COMMENT '最近执行信息',
|
|
remark varchar(500) DEFAULT NULL,
|
|
create_by varchar(64) DEFAULT NULL,
|
|
create_time datetime DEFAULT NULL,
|
|
update_by varchar(64) DEFAULT NULL,
|
|
update_time datetime DEFAULT NULL,
|
|
PRIMARY KEY (migration_id),
|
|
KEY idx_data_migration_status (status),
|
|
KEY idx_data_migration_job (job_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据迁移脚本';
|
|
|
|
CREATE TABLE IF NOT EXISTS sys_data_migration_log (
|
|
log_id bigint(20) NOT NULL AUTO_INCREMENT,
|
|
migration_id bigint(20) NOT NULL,
|
|
trigger_type varchar(20) NOT NULL COMMENT 'MANUAL/手动 CRON/定时',
|
|
start_time datetime DEFAULT NULL,
|
|
end_time datetime DEFAULT NULL,
|
|
status char(1) DEFAULT NULL COMMENT '0成功 1失败',
|
|
affected_rows int(11) DEFAULT 0,
|
|
message varchar(2000) DEFAULT NULL,
|
|
create_by varchar(64) DEFAULT NULL,
|
|
PRIMARY KEY (log_id),
|
|
KEY idx_data_migration_log_mig (migration_id, start_time)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据迁移执行日志';
|
|
|
|
SET @toolParent := (
|
|
SELECT menu_id FROM sys_menu
|
|
WHERE menu_type = 'M' AND (menu_id = 3 OR path = 'tool')
|
|
ORDER BY CASE WHEN menu_id = 3 THEN 0 ELSE 1 END, menu_id
|
|
LIMIT 1
|
|
);
|
|
SET @toolParent := IFNULL(@toolParent, 3);
|
|
|
|
INSERT INTO sys_menu (
|
|
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
|
is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark
|
|
)
|
|
SELECT 2490, N'数据迁移', @toolParent, 10,
|
|
'migration', 'tool/migration/index', NULL, 'DataMigration',
|
|
1, 0, 'C', '0', '0', 'tool:migration:list', 'example', 'admin', sysdate(), N'保存 SQL 并配置 Quartz 定时执行'
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2490 OR perms = 'tool:migration:list');
|
|
|
|
UPDATE sys_menu
|
|
SET parent_id = @toolParent, order_num = 10, path = 'migration',
|
|
component = 'tool/migration/index', visible = '0', status = '0',
|
|
perms = 'tool:migration:list', menu_type = 'C', icon = 'example'
|
|
WHERE menu_id = 2490;
|
|
|
|
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 2491, N'查询', 2490, 1, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:query', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2491);
|
|
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 2492, N'新增', 2490, 2, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:add', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2492);
|
|
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 2493, N'修改', 2490, 3, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:edit', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2493);
|
|
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 2494, N'删除', 2490, 4, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:remove', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2494);
|
|
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 2495, N'立即执行', 2490, 5, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:run', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2495);
|
|
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 2496, N'执行日志', 2490, 6, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:log', '#', 'admin', sysdate()
|
|
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2496);
|
|
|
|
INSERT INTO sys_role_menu (role_id, menu_id)
|
|
SELECT 1, m.menu_id
|
|
FROM (SELECT 2490 AS menu_id UNION SELECT 2491 UNION SELECT 2492 UNION SELECT 2493
|
|
UNION SELECT 2494 UNION SELECT 2495 UNION SELECT 2496) m
|
|
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);
|