1774 lines
170 KiB
SQL
1774 lines
170 KiB
SQL
-- SW → Kra 旧框架转换:由程序首次连接旧库时自动执行,随后自动完成增量迁移、校验和清理。
|
|
-- 服务设置 admin.system.disable_auto_migrate: true;目标库由下方 USE 配置。
|
|
-- 新副本:备份源表、创建 Kra 表、转换框架数据及关联,并归档旧表。
|
|
-- 已迁移副本:自动执行菜单调整,不重新导入账号,不重建已存在的表。
|
|
-- 检测到部分迁移状态时立即停止,防止覆盖未完成的数据。
|
|
-- 首次迁移要求 26 张源表已存在;支持包含真实规则、预警和日志的完整业务副本。
|
|
-- 本脚本不包含账号明文、密码哈希或连接凭据;原始业务大表保留在目标副本中。
|
|
-- 请使用支持 DELIMITER 的 MySQL 客户端,在同一连接执行,遇错停止,不使用 --force。
|
|
-- 工作台复用仪表盘;商务管理、数据分析、预警中心依次排在仪表盘下方。
|
|
-- 与当前 Go 版本配套使用;由 -migrate 追加全部业务结构,转换 SQL 导入的任务保持停用。
|
|
-- 已迁移分支不依赖已清理的旧源表或备份表;执行前请备份当前菜单及角色元数据。
|
|
-- 唯一的库名配置:下方为测试副本 sw10;仅对已备份的目标副本执行,连接地址由数据库客户端选择。
|
|
-- MySQL 5.7 不支持 USE @变量,因此只修改下一行,正文自动使用当前数据库。
|
|
USE `sw10`;
|
|
SET @sw_kra_target_db = DATABASE();
|
|
SET NAMES utf8mb4;
|
|
SET SESSION time_zone='+08:00';
|
|
DELIMITER $$
|
|
DROP PROCEDURE IF EXISTS sw_kra_migrate_20261103$$
|
|
CREATE PROCEDURE sw_kra_migrate_20261103()
|
|
migration_run: BEGIN
|
|
DECLARE v_actual BIGINT DEFAULT 0;
|
|
DECLARE v_expected BIGINT DEFAULT 0;
|
|
DECLARE v_iter INT DEFAULT 0;
|
|
DECLARE v_lock INT DEFAULT 0;
|
|
DECLARE v_lock_name VARCHAR(64);
|
|
DECLARE v_dashboard BIGINT UNSIGNED DEFAULT NULL;
|
|
DECLARE v_workbench BIGINT UNSIGNED DEFAULT NULL;
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
BEGIN
|
|
ROLLBACK;
|
|
IF v_lock=1 THEN DO RELEASE_LOCK(v_lock_name); END IF;
|
|
RESIGNAL;
|
|
END;
|
|
IF DATABASE() IS NULL OR @sw_kra_target_db IS NULL OR NOT (BINARY DATABASE() <=> BINARY @sw_kra_target_db) THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='当前数据库与配置不一致';
|
|
END IF;
|
|
-- 按目标库生成迁移锁,避免不同数据库互相阻塞,名称不超过 MySQL 的 64 字符限制。
|
|
SET v_lock_name=CONCAT('sw_to_kra:',MD5(DATABASE()));
|
|
SELECT GET_LOCK(v_lock_name,10) INTO v_lock;
|
|
IF COALESCE(v_lock,0)<>1 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Migration lock unavailable'; END IF;
|
|
-- 一、已迁移库:确认目标表完整、迁移账本已完成,再调整菜单。
|
|
IF EXISTS(SELECT 1 FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name='sys_users') THEN
|
|
IF (SELECT COUNT(*) FROM information_schema.tables WHERE table_schema=DATABASE()
|
|
AND table_name IN ('sys_schema_migrations','sys_users','sys_authorities','sys_base_menus','sys_user_authority','sys_authority_menus','sys_base_menu_parameters','sys_apis','sys_ignore_apis','sys_authority_apis','casbin_rule','sys_base_menu_btns','sys_authority_btns','sys_departments','sys_positions','sys_user_departments','sys_user_positions','sys_authority_departments','sys_dictionaries','sys_dictionary_details','sys_params','sys_api_tokens','jwt_blacklists','sys_security_config','sys_versions','sys_export_templates','sys_export_template_condition','sys_export_template_join','sys_operation_records','sys_login_logs','sys_data_access_logs','sys_error','media_file_upload_and_downloads','media_attachment_category','media_uploads','media_upload_chunks','sys_announcements','sys_integration_configs','sys_timed_tasks','sys_timed_task_logs','pay_orders','pay_events','sys_user_bind_platform','sys_user_preference','sys_alert_rule','sys_alert_record','sys_alert_operation_log','sys_message') AND engine='InnoDB')<>48 THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Kra target tables incomplete; refusing partial migration';
|
|
END IF;
|
|
IF EXISTS(SELECT 1 FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name='sw_kra_state') THEN
|
|
IF NOT EXISTS(SELECT 1 FROM sw_kra_state WHERE id=1 AND phase='completed') THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Previous migration not completed';
|
|
END IF;
|
|
ELSEIF EXISTS(SELECT 1 FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name='sys_user') THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Legacy users remain without completed migration state';
|
|
END IF;
|
|
START TRANSACTION;
|
|
IF (SELECT COUNT(*) FROM sys_base_menus WHERE name='dashboard' AND parent_id=0 AND deleted_at IS NULL)<>1
|
|
OR (SELECT COUNT(*) FROM sys_base_menus WHERE name='sw_workbench')>1
|
|
OR (SELECT COUNT(DISTINCT name) FROM sys_base_menus WHERE parent_id=0 AND deleted_at IS NULL
|
|
AND name IN ('sw_BusMgmt','sw_DataAnalysis','sw_AlertCenter'))<>3 THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Required menu identities differ';
|
|
END IF;
|
|
SELECT id INTO v_dashboard FROM sys_base_menus WHERE name='dashboard' AND parent_id=0 AND deleted_at IS NULL FOR UPDATE;
|
|
SET v_workbench=(SELECT id FROM sys_base_menus WHERE name='sw_workbench');
|
|
IF EXISTS(SELECT 1 FROM sys_base_menus WHERE parent_id=v_workbench)
|
|
OR EXISTS(SELECT 1 FROM sys_base_menu_btns WHERE sys_base_menu_id=v_workbench AND name<>'sw:workbench:query') THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Workbench has unexpected children/buttons';
|
|
END IF;
|
|
|
|
-- 先补齐仪表盘授权,再移除重复工作台;已有授权不重复插入。
|
|
INSERT INTO sys_authority_menus(sys_authority_authority_id,sys_base_menu_id)
|
|
SELECT a.authority_id,v_dashboard FROM sys_authorities a
|
|
WHERE (a.default_router IN ('sw_workbench','dashboard') OR EXISTS(
|
|
SELECT 1 FROM sys_authority_menus x WHERE x.sys_authority_authority_id=a.authority_id AND x.sys_base_menu_id=v_workbench))
|
|
AND NOT EXISTS(SELECT 1 FROM sys_authority_menus x WHERE x.sys_authority_authority_id=a.authority_id AND x.sys_base_menu_id=v_dashboard);
|
|
UPDATE sys_authorities SET default_router='dashboard' WHERE default_router='sw_workbench';
|
|
|
|
-- 删除工作台页面、查询按钮及其关联,保留业务接口和查询权限。
|
|
DELETE x FROM sys_authority_btns x LEFT JOIN sys_base_menu_btns b ON b.id=x.sys_base_menu_btn_id
|
|
WHERE x.sys_menu_id=v_workbench OR b.sys_base_menu_id=v_workbench;
|
|
DELETE FROM sys_authority_menus WHERE sys_base_menu_id=v_workbench;
|
|
DELETE FROM sys_base_menu_parameters WHERE sys_base_menu_id=v_workbench;
|
|
IF EXISTS(SELECT 1 FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name='sw_kra_id_map') THEN
|
|
DELETE m FROM sw_kra_id_map m LEFT JOIN sys_base_menu_btns b ON b.id=m.new_id
|
|
WHERE m.entity='menu' AND (m.new_id=v_workbench OR b.sys_base_menu_id=v_workbench);
|
|
END IF;
|
|
DELETE FROM sys_base_menu_btns WHERE sys_base_menu_id=v_workbench;
|
|
DELETE FROM sys_base_menus WHERE id=v_workbench;
|
|
|
|
-- 使用固定排序值,确保重复执行结果一致;不调整子菜单排序。
|
|
UPDATE sys_base_menus SET sort=CASE name
|
|
WHEN 'dashboard' THEN 1
|
|
WHEN 'sw_BusMgmt' THEN 2
|
|
WHEN 'sw_DataAnalysis' THEN 3
|
|
WHEN 'sw_AlertCenter' THEN 4
|
|
WHEN 'permission' THEN 5
|
|
WHEN 'org' THEN 6
|
|
WHEN 'systemConfig' THEN 7
|
|
WHEN 'monitor' THEN 8
|
|
WHEN 'media' THEN 9
|
|
WHEN 'extensions' THEN 13
|
|
WHEN 'person' THEN 16
|
|
ELSE sort END WHERE parent_id=0;
|
|
|
|
-- RuoYi SVG 名称转换为 Kra 已注册图标;只修复旧值,保留后续自定义选择。
|
|
UPDATE sys_base_menus SET icon=CASE name
|
|
WHEN 'sw_BusMgmt' THEN 'Briefcase'
|
|
WHEN 'sw_BusinessList' THEN 'UserFilled'
|
|
WHEN 'sw_ChannelList' THEN 'Connection'
|
|
WHEN 'sw_ChannelActivationList' THEN 'CircleCheck'
|
|
WHEN 'sw_DataAnalysis' THEN 'DataAnalysis'
|
|
WHEN 'sw_ChannelDataStatistics' THEN 'Histogram'
|
|
WHEN 'sw_RechargeDetails' THEN 'Money'
|
|
WHEN 'sw_RegistrationDetails' THEN 'User'
|
|
WHEN 'sw_GameAnalytics' THEN 'TrendCharts'
|
|
WHEN 'sw_ServerAnalysis' THEN 'Monitor'
|
|
WHEN 'sw_RankingAnalysis' THEN 'Star'
|
|
WHEN 'sw_AlertCenter' THEN 'Bell'
|
|
WHEN 'sw_AlertList' THEN 'Warning'
|
|
WHEN 'sw_AlertRules' THEN 'Setting'
|
|
ELSE icon END
|
|
WHERE name IN ('sw_BusMgmt','sw_BusinessList','sw_ChannelList','sw_ChannelActivationList','sw_DataAnalysis','sw_ChannelDataStatistics','sw_RechargeDetails','sw_RegistrationDetails','sw_GameAnalytics','sw_ServerAnalysis','sw_RankingAnalysis','sw_AlertCenter','sw_AlertList','sw_AlertRules')
|
|
AND (icon IS NULL OR icon IN ('', 'category', 'email', 'chart', 'company', 'international', 'color', 'dict', 'cascader', 'education', 'excel', 'star', 'process-definition', 'documentation', 'example', 'data-analysis', 'user', 'money', 'warn'));
|
|
|
|
IF EXISTS(SELECT 1 FROM sys_base_menus WHERE name='sw_workbench' OR path='sw-index')
|
|
OR EXISTS(SELECT 1 FROM sys_base_menu_btns WHERE name='sw:workbench:query') THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Duplicate workbench remains';
|
|
END IF;
|
|
IF EXISTS(SELECT 1 FROM sys_authorities a WHERE NOT EXISTS(
|
|
SELECT 1 FROM sys_base_menus m JOIN sys_authority_menus x ON x.sys_base_menu_id=m.id
|
|
WHERE x.sys_authority_authority_id=a.authority_id AND m.name=a.default_router AND m.deleted_at IS NULL)) THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Role default router not accessible';
|
|
END IF;
|
|
IF EXISTS(SELECT 1 FROM sys_authority_menus x LEFT JOIN sys_base_menus m ON m.id=x.sys_base_menu_id WHERE m.id IS NULL)
|
|
OR EXISTS(SELECT 1 FROM sys_authority_btns x LEFT JOIN sys_base_menu_btns b ON b.id=x.sys_base_menu_btn_id
|
|
LEFT JOIN sys_base_menus m ON m.id=x.sys_menu_id WHERE b.id IS NULL OR m.id IS NULL OR b.sys_base_menu_id<>x.sys_menu_id)
|
|
OR EXISTS(SELECT 1 FROM sys_base_menu_parameters x LEFT JOIN sys_base_menus m ON m.id=x.sys_base_menu_id WHERE m.id IS NULL) THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Dangling menu relationship';
|
|
END IF;
|
|
COMMIT;
|
|
DO RELEASE_LOCK(v_lock_name); SET v_lock=0;
|
|
SELECT '菜单调整完成,原有框架和业务数据已保留' AS result;
|
|
LEAVE migration_run;
|
|
END IF;
|
|
|
|
-- 二、未迁移的新副本:核查源表及迁移状态,再执行完整迁移。
|
|
IF EXISTS(SELECT 1 FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name IN ('sw_kra_state','sys_users','sys_schema_migrations','bak_sw2kra_20261103_sys_user')) THEN
|
|
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Target already migrated or partially prepared; do not overwrite';
|
|
END IF;
|
|
SELECT COUNT(*) INTO v_actual FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name IN ('sys_social','sys_dept','sys_user','sys_post','sys_role','sys_menu','sys_user_role','sys_role_menu','sys_role_dept','sys_user_post','sys_oper_log','sys_dict_type','sys_dict_data','sys_config','sys_login_info','sys_notice','sys_message','sys_oss','sys_oss_config','sys_client','sys_user_bind_platform','sys_user_preference','sj_job','sys_alert_rule','sys_alert_record','sys_alert_operation_log') AND engine='InnoDB';
|
|
|
|
IF v_actual<>26 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Source table set/engine differs'; END IF;
|
|
|
|
IF EXISTS(SELECT 1 FROM sys_user WHERE del_flag='0' AND LEFT(password,4) NOT IN ('$2a$','$2b$','$2y$')) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Unsupported source password format'; END IF;
|
|
|
|
IF EXISTS(SELECT user_name FROM sys_user WHERE del_flag='0' GROUP BY user_name HAVING COUNT(*)>1) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Duplicate source username'; END IF;
|
|
|
|
IF EXISTS(SELECT u.user_id FROM sys_user u LEFT JOIN sys_user_role ur ON ur.user_id=u.user_id LEFT JOIN sys_role r ON r.role_id=ur.role_id AND r.del_flag='0' WHERE u.del_flag='0' GROUP BY u.user_id HAVING COUNT(DISTINCT r.role_id)<>1) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Source user needs exactly one active role'; END IF;
|
|
|
|
IF EXISTS(SELECT 1 FROM sys_role WHERE del_flag='0' AND data_scope NOT IN ('1','2','3','4','5')) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Unsupported source data scope'; END IF;
|
|
|
|
IF EXISTS(SELECT 1 FROM sys_user u LEFT JOIN sys_user p ON p.user_id=u.parent_id WHERE u.del_flag='0' AND u.parent_id>0 AND (p.user_id IS NULL OR p.del_flag<>'0' OR p.level>=u.level)) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='Invalid source business ancestry'; END IF;
|
|
|
|
-- 三、创建迁移账本和批次备份,逐表核对行数与字段内容。
|
|
|
|
CREATE TABLE sw_kra_state (id INT PRIMARY KEY, version VARCHAR(80) NOT NULL, phase VARCHAR(40) NOT NULL, started_at DATETIME(3), completed_at DATETIME(3)) ENGINE=InnoDB;
|
|
|
|
INSERT INTO sw_kra_state VALUES(1,'20261103_framework_migration_v5','backup',NOW(3),NULL);
|
|
|
|
CREATE TABLE sw_kra_checks (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,stage VARCHAR(32),check_name VARCHAR(160),expected_value BIGINT,actual_value BIGINT,passed TINYINT NOT NULL) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_social` LIKE `sys_social`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_dept` LIKE `sys_dept`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_user` LIKE `sys_user`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_post` LIKE `sys_post`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_role` LIKE `sys_role`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_menu` LIKE `sys_menu`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_user_role` LIKE `sys_user_role`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_role_menu` LIKE `sys_role_menu`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_role_dept` LIKE `sys_role_dept`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_user_post` LIKE `sys_user_post`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_oper_log` LIKE `sys_oper_log`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_dict_type` LIKE `sys_dict_type`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_dict_data` LIKE `sys_dict_data`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_config` LIKE `sys_config`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_login_info` LIKE `sys_login_info`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_notice` LIKE `sys_notice`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_message` LIKE `sys_message`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_oss` LIKE `sys_oss`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_oss_config` LIKE `sys_oss_config`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_client` LIKE `sys_client`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_user_bind_platform` LIKE `sys_user_bind_platform`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_user_preference` LIKE `sys_user_preference`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sj_job` LIKE `sj_job`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_alert_rule` LIKE `sys_alert_rule`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_alert_record` LIKE `sys_alert_record`;
|
|
|
|
CREATE TABLE `bak_sw2kra_20261103_sys_alert_operation_log` LIKE `sys_alert_operation_log`;
|
|
|
|
START TRANSACTION;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_social` (`id`,`user_id`,`auth_id`,`source`,`open_id`,`user_name`,`nick_name`,`email`,`avatar`,`access_token`,`expire_in`,`refresh_token`,`access_code`,`union_id`,`scope`,`token_type`,`id_token`,`mac_algorithm`,`mac_key`,`code`,`oauth_token`,`oauth_token_secret`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`del_flag`) SELECT `id`,`user_id`,`auth_id`,`source`,`open_id`,`user_name`,`nick_name`,`email`,`avatar`,`access_token`,`expire_in`,`refresh_token`,`access_code`,`union_id`,`scope`,`token_type`,`id_token`,`mac_algorithm`,`mac_key`,`code`,`oauth_token`,`oauth_token_secret`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`del_flag` FROM `sys_social`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_social`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_social`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_social backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_social backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_social` s LEFT JOIN `bak_sw2kra_20261103_sys_social` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`auth_id` <=> BINARY b.`auth_id`) AND (BINARY s.`source` <=> BINARY b.`source`) AND (BINARY s.`open_id` <=> BINARY b.`open_id`) AND (BINARY s.`user_name` <=> BINARY b.`user_name`) AND (BINARY s.`nick_name` <=> BINARY b.`nick_name`) AND (BINARY s.`email` <=> BINARY b.`email`) AND (BINARY s.`avatar` <=> BINARY b.`avatar`) AND (BINARY s.`access_token` <=> BINARY b.`access_token`) AND (BINARY s.`expire_in` <=> BINARY b.`expire_in`) AND (BINARY s.`refresh_token` <=> BINARY b.`refresh_token`) AND (BINARY s.`access_code` <=> BINARY b.`access_code`) AND (BINARY s.`union_id` <=> BINARY b.`union_id`) AND (BINARY s.`scope` <=> BINARY b.`scope`) AND (BINARY s.`token_type` <=> BINARY b.`token_type`) AND (BINARY s.`id_token` <=> BINARY b.`id_token`) AND (BINARY s.`mac_algorithm` <=> BINARY b.`mac_algorithm`) AND (BINARY s.`mac_key` <=> BINARY b.`mac_key`) AND (BINARY s.`code` <=> BINARY b.`code`) AND (BINARY s.`oauth_token` <=> BINARY b.`oauth_token`) AND (BINARY s.`oauth_token_secret` <=> BINARY b.`oauth_token_secret`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_social backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_social backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_dept` (`dept_id`,`parent_id`,`ancestors`,`dept_name`,`dept_category`,`order_num`,`leader`,`phone`,`email`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`) SELECT `dept_id`,`parent_id`,`ancestors`,`dept_name`,`dept_category`,`order_num`,`leader`,`phone`,`email`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time` FROM `sys_dept`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_dept`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dept`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dept backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dept backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dept` s LEFT JOIN `bak_sw2kra_20261103_sys_dept` b ON s.`dept_id`=b.`dept_id` WHERE b.`dept_id` IS NULL OR NOT((BINARY s.`dept_id` <=> BINARY b.`dept_id`) AND (BINARY s.`parent_id` <=> BINARY b.`parent_id`) AND (BINARY s.`ancestors` <=> BINARY b.`ancestors`) AND (BINARY s.`dept_name` <=> BINARY b.`dept_name`) AND (BINARY s.`dept_category` <=> BINARY b.`dept_category`) AND (BINARY s.`order_num` <=> BINARY b.`order_num`) AND (BINARY s.`leader` <=> BINARY b.`leader`) AND (BINARY s.`phone` <=> BINARY b.`phone`) AND (BINARY s.`email` <=> BINARY b.`email`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dept backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dept backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_user` (`user_id`,`dept_id`,`user_name`,`nick_name`,`user_type`,`email`,`phone_number`,`gender`,`avatar`,`password`,`status`,`del_flag`,`login_ip`,`login_date`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`,`level`,`parent_id`,`id_path`,`real_name`,`qq_number`,`reject_reason`) SELECT `user_id`,`dept_id`,`user_name`,`nick_name`,`user_type`,`email`,`phone_number`,`gender`,`avatar`,`password`,`status`,`del_flag`,`login_ip`,`login_date`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`,`level`,`parent_id`,`id_path`,`real_name`,`qq_number`,`reject_reason` FROM `sys_user`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user` s LEFT JOIN `bak_sw2kra_20261103_sys_user` b ON s.`user_id`=b.`user_id` WHERE b.`user_id` IS NULL OR NOT((BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`dept_id` <=> BINARY b.`dept_id`) AND (BINARY s.`user_name` <=> BINARY b.`user_name`) AND (BINARY s.`nick_name` <=> BINARY b.`nick_name`) AND (BINARY s.`user_type` <=> BINARY b.`user_type`) AND (BINARY s.`email` <=> BINARY b.`email`) AND (BINARY s.`phone_number` <=> BINARY b.`phone_number`) AND (BINARY s.`gender` <=> BINARY b.`gender`) AND (BINARY s.`avatar` <=> BINARY b.`avatar`) AND (BINARY s.`password` <=> BINARY b.`password`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`) AND (BINARY s.`login_ip` <=> BINARY b.`login_ip`) AND (BINARY s.`login_date` <=> BINARY b.`login_date`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`) AND (BINARY s.`level` <=> BINARY b.`level`) AND (BINARY s.`parent_id` <=> BINARY b.`parent_id`) AND (BINARY s.`id_path` <=> BINARY b.`id_path`) AND (BINARY s.`real_name` <=> BINARY b.`real_name`) AND (BINARY s.`qq_number` <=> BINARY b.`qq_number`) AND (BINARY s.`reject_reason` <=> BINARY b.`reject_reason`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_post` (`post_id`,`dept_id`,`post_code`,`post_category`,`post_name`,`post_sort`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `post_id`,`dept_id`,`post_code`,`post_category`,`post_name`,`post_sort`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_post`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_post`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_post`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_post backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_post backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_post` s LEFT JOIN `bak_sw2kra_20261103_sys_post` b ON s.`post_id`=b.`post_id` WHERE b.`post_id` IS NULL OR NOT((BINARY s.`post_id` <=> BINARY b.`post_id`) AND (BINARY s.`dept_id` <=> BINARY b.`dept_id`) AND (BINARY s.`post_code` <=> BINARY b.`post_code`) AND (BINARY s.`post_category` <=> BINARY b.`post_category`) AND (BINARY s.`post_name` <=> BINARY b.`post_name`) AND (BINARY s.`post_sort` <=> BINARY b.`post_sort`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_post backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_post backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_role` (`role_id`,`role_name`,`role_key`,`role_sort`,`data_scope`,`menu_check_strictly`,`dept_check_strictly`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `role_id`,`role_name`,`role_key`,`role_sort`,`data_scope`,`menu_check_strictly`,`dept_check_strictly`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_role`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_role`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role` s LEFT JOIN `bak_sw2kra_20261103_sys_role` b ON s.`role_id`=b.`role_id` WHERE b.`role_id` IS NULL OR NOT((BINARY s.`role_id` <=> BINARY b.`role_id`) AND (BINARY s.`role_name` <=> BINARY b.`role_name`) AND (BINARY s.`role_key` <=> BINARY b.`role_key`) AND (BINARY s.`role_sort` <=> BINARY b.`role_sort`) AND (BINARY s.`data_scope` <=> BINARY b.`data_scope`) AND (BINARY s.`menu_check_strictly` <=> BINARY b.`menu_check_strictly`) AND (BINARY s.`dept_check_strictly` <=> BINARY b.`dept_check_strictly`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_menu` (`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`query_param`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`active_menu`,`ext`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`query_param`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`active_menu`,`ext`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_menu`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_menu`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_menu`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_menu backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_menu backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_menu` s LEFT JOIN `bak_sw2kra_20261103_sys_menu` b ON s.`menu_id`=b.`menu_id` WHERE b.`menu_id` IS NULL OR NOT((BINARY s.`menu_id` <=> BINARY b.`menu_id`) AND (BINARY s.`menu_name` <=> BINARY b.`menu_name`) AND (BINARY s.`parent_id` <=> BINARY b.`parent_id`) AND (BINARY s.`order_num` <=> BINARY b.`order_num`) AND (BINARY s.`path` <=> BINARY b.`path`) AND (BINARY s.`component` <=> BINARY b.`component`) AND (BINARY s.`query_param` <=> BINARY b.`query_param`) AND (BINARY s.`is_frame` <=> BINARY b.`is_frame`) AND (BINARY s.`is_cache` <=> BINARY b.`is_cache`) AND (BINARY s.`menu_type` <=> BINARY b.`menu_type`) AND (BINARY s.`visible` <=> BINARY b.`visible`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`perms` <=> BINARY b.`perms`) AND (BINARY s.`icon` <=> BINARY b.`icon`) AND (BINARY s.`active_menu` <=> BINARY b.`active_menu`) AND (BINARY s.`ext` <=> BINARY b.`ext`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_menu backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_menu backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_user_role` (`user_id`,`role_id`) SELECT `user_id`,`role_id` FROM `sys_user_role`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_role`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_role`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_role backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_role backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_role` s LEFT JOIN `bak_sw2kra_20261103_sys_user_role` b ON s.`user_id`=b.`user_id` AND s.`role_id`=b.`role_id` WHERE b.`user_id` IS NULL OR NOT((BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`role_id` <=> BINARY b.`role_id`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_role backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_role backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_role_menu` (`role_id`,`menu_id`) SELECT `role_id`,`menu_id` FROM `sys_role_menu`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_role_menu`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role_menu`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role_menu backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role_menu backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role_menu` s LEFT JOIN `bak_sw2kra_20261103_sys_role_menu` b ON s.`role_id`=b.`role_id` AND s.`menu_id`=b.`menu_id` WHERE b.`role_id` IS NULL OR NOT((BINARY s.`role_id` <=> BINARY b.`role_id`) AND (BINARY s.`menu_id` <=> BINARY b.`menu_id`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role_menu backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role_menu backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_role_dept` (`role_id`,`dept_id`) SELECT `role_id`,`dept_id` FROM `sys_role_dept`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_role_dept`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role_dept`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role_dept backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role_dept backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_role_dept` s LEFT JOIN `bak_sw2kra_20261103_sys_role_dept` b ON s.`role_id`=b.`role_id` AND s.`dept_id`=b.`dept_id` WHERE b.`role_id` IS NULL OR NOT((BINARY s.`role_id` <=> BINARY b.`role_id`) AND (BINARY s.`dept_id` <=> BINARY b.`dept_id`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_role_dept backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_role_dept backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_user_post` (`user_id`,`post_id`) SELECT `user_id`,`post_id` FROM `sys_user_post`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_post`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_post`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_post backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_post backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_post` s LEFT JOIN `bak_sw2kra_20261103_sys_user_post` b ON s.`user_id`=b.`user_id` AND s.`post_id`=b.`post_id` WHERE b.`user_id` IS NULL OR NOT((BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`post_id` <=> BINARY b.`post_id`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_post backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_post backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_oper_log` (`oper_id`,`title`,`business_type`,`method`,`request_method`,`operator_type`,`oper_name`,`user_id`,`dept_id`,`dept_name`,`client_key`,`device_type`,`browser`,`os`,`oper_url`,`oper_ip`,`oper_location`,`oper_param`,`json_result`,`status`,`error_msg`,`oper_time`,`cost_time`) SELECT `oper_id`,`title`,`business_type`,`method`,`request_method`,`operator_type`,`oper_name`,`user_id`,`dept_id`,`dept_name`,`client_key`,`device_type`,`browser`,`os`,`oper_url`,`oper_ip`,`oper_location`,`oper_param`,`json_result`,`status`,`error_msg`,`oper_time`,`cost_time` FROM `sys_oper_log`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_oper_log`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oper_log`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oper_log backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oper_log backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oper_log` s LEFT JOIN `bak_sw2kra_20261103_sys_oper_log` b ON s.`oper_id`=b.`oper_id` WHERE b.`oper_id` IS NULL OR NOT((BINARY s.`oper_id` <=> BINARY b.`oper_id`) AND (BINARY s.`title` <=> BINARY b.`title`) AND (BINARY s.`business_type` <=> BINARY b.`business_type`) AND (BINARY s.`method` <=> BINARY b.`method`) AND (BINARY s.`request_method` <=> BINARY b.`request_method`) AND (BINARY s.`operator_type` <=> BINARY b.`operator_type`) AND (BINARY s.`oper_name` <=> BINARY b.`oper_name`) AND (BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`dept_id` <=> BINARY b.`dept_id`) AND (BINARY s.`dept_name` <=> BINARY b.`dept_name`) AND (BINARY s.`client_key` <=> BINARY b.`client_key`) AND (BINARY s.`device_type` <=> BINARY b.`device_type`) AND (BINARY s.`browser` <=> BINARY b.`browser`) AND (BINARY s.`os` <=> BINARY b.`os`) AND (BINARY s.`oper_url` <=> BINARY b.`oper_url`) AND (BINARY s.`oper_ip` <=> BINARY b.`oper_ip`) AND (BINARY s.`oper_location` <=> BINARY b.`oper_location`) AND (BINARY s.`oper_param` <=> BINARY b.`oper_param`) AND (BINARY s.`json_result` <=> BINARY b.`json_result`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`error_msg` <=> BINARY b.`error_msg`) AND (BINARY s.`oper_time` <=> BINARY b.`oper_time`) AND (BINARY s.`cost_time` <=> BINARY b.`cost_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oper_log backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oper_log backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_dict_type` (`dict_id`,`dict_name`,`dict_type`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `dict_id`,`dict_name`,`dict_type`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_dict_type`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_dict_type`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dict_type`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dict_type backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dict_type backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dict_type` s LEFT JOIN `bak_sw2kra_20261103_sys_dict_type` b ON s.`dict_id`=b.`dict_id` WHERE b.`dict_id` IS NULL OR NOT((BINARY s.`dict_id` <=> BINARY b.`dict_id`) AND (BINARY s.`dict_name` <=> BINARY b.`dict_name`) AND (BINARY s.`dict_type` <=> BINARY b.`dict_type`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dict_type backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dict_type backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_dict_data` (`dict_code`,`dict_sort`,`dict_label`,`dict_value`,`dict_type`,`css_class`,`list_class`,`is_default`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `dict_code`,`dict_sort`,`dict_label`,`dict_value`,`dict_type`,`css_class`,`list_class`,`is_default`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_dict_data`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_dict_data`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dict_data`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dict_data backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dict_data backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_dict_data` s LEFT JOIN `bak_sw2kra_20261103_sys_dict_data` b ON s.`dict_code`=b.`dict_code` WHERE b.`dict_code` IS NULL OR NOT((BINARY s.`dict_code` <=> BINARY b.`dict_code`) AND (BINARY s.`dict_sort` <=> BINARY b.`dict_sort`) AND (BINARY s.`dict_label` <=> BINARY b.`dict_label`) AND (BINARY s.`dict_value` <=> BINARY b.`dict_value`) AND (BINARY s.`dict_type` <=> BINARY b.`dict_type`) AND (BINARY s.`css_class` <=> BINARY b.`css_class`) AND (BINARY s.`list_class` <=> BINARY b.`list_class`) AND (BINARY s.`is_default` <=> BINARY b.`is_default`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_dict_data backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_dict_data backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_config` (`config_id`,`config_name`,`config_key`,`config_value`,`config_type`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `config_id`,`config_name`,`config_key`,`config_value`,`config_type`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_config`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_config`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_config`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_config backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_config backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_config` s LEFT JOIN `bak_sw2kra_20261103_sys_config` b ON s.`config_id`=b.`config_id` WHERE b.`config_id` IS NULL OR NOT((BINARY s.`config_id` <=> BINARY b.`config_id`) AND (BINARY s.`config_name` <=> BINARY b.`config_name`) AND (BINARY s.`config_key` <=> BINARY b.`config_key`) AND (BINARY s.`config_value` <=> BINARY b.`config_value`) AND (BINARY s.`config_type` <=> BINARY b.`config_type`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_config backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_config backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_login_info` (`info_id`,`user_name`,`client_key`,`device_type`,`ipaddr`,`login_location`,`browser`,`os`,`status`,`msg`,`login_time`) SELECT `info_id`,`user_name`,`client_key`,`device_type`,`ipaddr`,`login_location`,`browser`,`os`,`status`,`msg`,`login_time` FROM `sys_login_info`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_login_info`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_login_info`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_login_info backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_login_info backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_login_info` s LEFT JOIN `bak_sw2kra_20261103_sys_login_info` b ON s.`info_id`=b.`info_id` WHERE b.`info_id` IS NULL OR NOT((BINARY s.`info_id` <=> BINARY b.`info_id`) AND (BINARY s.`user_name` <=> BINARY b.`user_name`) AND (BINARY s.`client_key` <=> BINARY b.`client_key`) AND (BINARY s.`device_type` <=> BINARY b.`device_type`) AND (BINARY s.`ipaddr` <=> BINARY b.`ipaddr`) AND (BINARY s.`login_location` <=> BINARY b.`login_location`) AND (BINARY s.`browser` <=> BINARY b.`browser`) AND (BINARY s.`os` <=> BINARY b.`os`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`msg` <=> BINARY b.`msg`) AND (BINARY s.`login_time` <=> BINARY b.`login_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_login_info backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_login_info backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_notice` (`notice_id`,`notice_title`,`notice_type`,`notice_content`,`status`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `notice_id`,`notice_title`,`notice_type`,`notice_content`,`status`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_notice`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_notice`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_notice`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_notice backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_notice backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_notice` s LEFT JOIN `bak_sw2kra_20261103_sys_notice` b ON s.`notice_id`=b.`notice_id` WHERE b.`notice_id` IS NULL OR NOT((BINARY s.`notice_id` <=> BINARY b.`notice_id`) AND (BINARY s.`notice_title` <=> BINARY b.`notice_title`) AND (BINARY s.`notice_type` <=> BINARY b.`notice_type`) AND (BINARY s.`notice_content` <=> BINARY b.`notice_content`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_notice backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_notice backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_message` (`message_id`,`category`,`type`,`source`,`title`,`message`,`content`,`data_json`,`path`,`send_user_ids`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`) SELECT `message_id`,`category`,`type`,`source`,`title`,`message`,`content`,`data_json`,`path`,`send_user_ids`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time` FROM `sys_message`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_message`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_message`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_message backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_message backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_message` s LEFT JOIN `bak_sw2kra_20261103_sys_message` b ON s.`message_id`=b.`message_id` WHERE b.`message_id` IS NULL OR NOT((BINARY s.`message_id` <=> BINARY b.`message_id`) AND (BINARY s.`category` <=> BINARY b.`category`) AND (BINARY s.`type` <=> BINARY b.`type`) AND (BINARY s.`source` <=> BINARY b.`source`) AND (BINARY s.`title` <=> BINARY b.`title`) AND (BINARY s.`message` <=> BINARY b.`message`) AND (BINARY s.`content` <=> BINARY b.`content`) AND (BINARY s.`data_json` <=> BINARY b.`data_json`) AND (BINARY s.`path` <=> BINARY b.`path`) AND (BINARY s.`send_user_ids` <=> BINARY b.`send_user_ids`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_message backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_message backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_oss` (`oss_id`,`file_name`,`original_name`,`file_suffix`,`url`,`ext1`,`create_dept`,`create_time`,`create_by`,`update_time`,`update_by`,`service`) SELECT `oss_id`,`file_name`,`original_name`,`file_suffix`,`url`,`ext1`,`create_dept`,`create_time`,`create_by`,`update_time`,`update_by`,`service` FROM `sys_oss`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_oss`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oss`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oss backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oss backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oss` s LEFT JOIN `bak_sw2kra_20261103_sys_oss` b ON s.`oss_id`=b.`oss_id` WHERE b.`oss_id` IS NULL OR NOT((BINARY s.`oss_id` <=> BINARY b.`oss_id`) AND (BINARY s.`file_name` <=> BINARY b.`file_name`) AND (BINARY s.`original_name` <=> BINARY b.`original_name`) AND (BINARY s.`file_suffix` <=> BINARY b.`file_suffix`) AND (BINARY s.`url` <=> BINARY b.`url`) AND (BINARY s.`ext1` <=> BINARY b.`ext1`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`service` <=> BINARY b.`service`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oss backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oss backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_oss_config` (`oss_config_id`,`config_key`,`access_key`,`secret_key`,`bucket_name`,`prefix`,`endpoint`,`domain_url`,`is_https`,`region`,`access_policy`,`status`,`ext1`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) SELECT `oss_config_id`,`config_key`,`access_key`,`secret_key`,`bucket_name`,`prefix`,`endpoint`,`domain_url`,`is_https`,`region`,`access_policy`,`status`,`ext1`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`,`remark` FROM `sys_oss_config`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_oss_config`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oss_config`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oss_config backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oss_config backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_oss_config` s LEFT JOIN `bak_sw2kra_20261103_sys_oss_config` b ON s.`oss_config_id`=b.`oss_config_id` WHERE b.`oss_config_id` IS NULL OR NOT((BINARY s.`oss_config_id` <=> BINARY b.`oss_config_id`) AND (BINARY s.`config_key` <=> BINARY b.`config_key`) AND (BINARY s.`access_key` <=> BINARY b.`access_key`) AND (BINARY s.`secret_key` <=> BINARY b.`secret_key`) AND (BINARY s.`bucket_name` <=> BINARY b.`bucket_name`) AND (BINARY s.`prefix` <=> BINARY b.`prefix`) AND (BINARY s.`endpoint` <=> BINARY b.`endpoint`) AND (BINARY s.`domain_url` <=> BINARY b.`domain_url`) AND (BINARY s.`is_https` <=> BINARY b.`is_https`) AND (BINARY s.`region` <=> BINARY b.`region`) AND (BINARY s.`access_policy` <=> BINARY b.`access_policy`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`ext1` <=> BINARY b.`ext1`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`) AND (BINARY s.`remark` <=> BINARY b.`remark`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_oss_config backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_oss_config backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_client` (`id`,`client_id`,`client_key`,`client_secret`,`grant_type`,`device_type`,`access_path`,`ip_whitelist`,`active_timeout`,`timeout`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time`) SELECT `id`,`client_id`,`client_key`,`client_secret`,`grant_type`,`device_type`,`access_path`,`ip_whitelist`,`active_timeout`,`timeout`,`status`,`del_flag`,`create_dept`,`create_by`,`create_time`,`update_by`,`update_time` FROM `sys_client`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_client`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_client`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_client backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_client backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_client` s LEFT JOIN `bak_sw2kra_20261103_sys_client` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`client_id` <=> BINARY b.`client_id`) AND (BINARY s.`client_key` <=> BINARY b.`client_key`) AND (BINARY s.`client_secret` <=> BINARY b.`client_secret`) AND (BINARY s.`grant_type` <=> BINARY b.`grant_type`) AND (BINARY s.`device_type` <=> BINARY b.`device_type`) AND (BINARY s.`access_path` <=> BINARY b.`access_path`) AND (BINARY s.`ip_whitelist` <=> BINARY b.`ip_whitelist`) AND (BINARY s.`active_timeout` <=> BINARY b.`active_timeout`) AND (BINARY s.`timeout` <=> BINARY b.`timeout`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`del_flag` <=> BINARY b.`del_flag`) AND (BINARY s.`create_dept` <=> BINARY b.`create_dept`) AND (BINARY s.`create_by` <=> BINARY b.`create_by`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`update_by` <=> BINARY b.`update_by`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_client backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_client backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_user_bind_platform` (`user_id`,`source_db`,`platform_busier_id`,`platform_busier_account`,`status`,`reject_reason`,`create_time`,`review_time`,`review_account`) SELECT `user_id`,`source_db`,`platform_busier_id`,`platform_busier_account`,`status`,`reject_reason`,`create_time`,`review_time`,`review_account` FROM `sys_user_bind_platform`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_bind_platform`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_bind_platform`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_bind_platform backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_bind_platform backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_bind_platform` s LEFT JOIN `bak_sw2kra_20261103_sys_user_bind_platform` b ON s.`user_id`=b.`user_id` AND s.`source_db`=b.`source_db` AND s.`platform_busier_id`=b.`platform_busier_id` WHERE b.`user_id` IS NULL OR NOT((BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`source_db` <=> BINARY b.`source_db`) AND (BINARY s.`platform_busier_id` <=> BINARY b.`platform_busier_id`) AND (BINARY s.`platform_busier_account` <=> BINARY b.`platform_busier_account`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`reject_reason` <=> BINARY b.`reject_reason`) AND (BINARY s.`create_time` <=> BINARY b.`create_time`) AND (BINARY s.`review_time` <=> BINARY b.`review_time`) AND (BINARY s.`review_account` <=> BINARY b.`review_account`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_bind_platform backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_bind_platform backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_user_preference` (`user_id`,`include_sub_promote`,`idcard_dedup`,`update_time`) SELECT `user_id`,`include_sub_promote`,`idcard_dedup`,`update_time` FROM `sys_user_preference`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_preference`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_preference`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_preference backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_preference backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_user_preference` s LEFT JOIN `bak_sw2kra_20261103_sys_user_preference` b ON s.`user_id`=b.`user_id` WHERE b.`user_id` IS NULL OR NOT((BINARY s.`user_id` <=> BINARY b.`user_id`) AND (BINARY s.`include_sub_promote` <=> BINARY b.`include_sub_promote`) AND (BINARY s.`idcard_dedup` <=> BINARY b.`idcard_dedup`) AND (BINARY s.`update_time` <=> BINARY b.`update_time`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_user_preference backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_user_preference backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sj_job` (`id`,`namespace_id`,`biz_id`,`group_name`,`job_name`,`args_str`,`args_type`,`next_trigger_at`,`job_status`,`task_type`,`route_key`,`executor_type`,`executor_info`,`trigger_type`,`trigger_interval`,`block_strategy`,`executor_timeout`,`max_retry_times`,`parallel_num`,`retry_interval`,`bucket_index`,`resident`,`notify_ids`,`owner_id`,`labels`,`description`,`ext_attrs`,`deleted`,`create_dt`,`update_dt`) SELECT `id`,`namespace_id`,`biz_id`,`group_name`,`job_name`,`args_str`,`args_type`,`next_trigger_at`,`job_status`,`task_type`,`route_key`,`executor_type`,`executor_info`,`trigger_type`,`trigger_interval`,`block_strategy`,`executor_timeout`,`max_retry_times`,`parallel_num`,`retry_interval`,`bucket_index`,`resident`,`notify_ids`,`owner_id`,`labels`,`description`,`ext_attrs`,`deleted`,`create_dt`,`update_dt` FROM `sj_job`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sj_job`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sj_job`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sj_job backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sj_job backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sj_job` s LEFT JOIN `bak_sw2kra_20261103_sj_job` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`namespace_id` <=> BINARY b.`namespace_id`) AND (BINARY s.`biz_id` <=> BINARY b.`biz_id`) AND (BINARY s.`group_name` <=> BINARY b.`group_name`) AND (BINARY s.`job_name` <=> BINARY b.`job_name`) AND (BINARY s.`args_str` <=> BINARY b.`args_str`) AND (BINARY s.`args_type` <=> BINARY b.`args_type`) AND (BINARY s.`next_trigger_at` <=> BINARY b.`next_trigger_at`) AND (BINARY s.`job_status` <=> BINARY b.`job_status`) AND (BINARY s.`task_type` <=> BINARY b.`task_type`) AND (BINARY s.`route_key` <=> BINARY b.`route_key`) AND (BINARY s.`executor_type` <=> BINARY b.`executor_type`) AND (BINARY s.`executor_info` <=> BINARY b.`executor_info`) AND (BINARY s.`trigger_type` <=> BINARY b.`trigger_type`) AND (BINARY s.`trigger_interval` <=> BINARY b.`trigger_interval`) AND (BINARY s.`block_strategy` <=> BINARY b.`block_strategy`) AND (BINARY s.`executor_timeout` <=> BINARY b.`executor_timeout`) AND (BINARY s.`max_retry_times` <=> BINARY b.`max_retry_times`) AND (BINARY s.`parallel_num` <=> BINARY b.`parallel_num`) AND (BINARY s.`retry_interval` <=> BINARY b.`retry_interval`) AND (BINARY s.`bucket_index` <=> BINARY b.`bucket_index`) AND (BINARY s.`resident` <=> BINARY b.`resident`) AND (BINARY s.`notify_ids` <=> BINARY b.`notify_ids`) AND (BINARY s.`owner_id` <=> BINARY b.`owner_id`) AND (BINARY s.`labels` <=> BINARY b.`labels`) AND (BINARY s.`description` <=> BINARY b.`description`) AND (BINARY s.`ext_attrs` <=> BINARY b.`ext_attrs`) AND (BINARY s.`deleted` <=> BINARY b.`deleted`) AND (BINARY s.`create_dt` <=> BINARY b.`create_dt`) AND (BINARY s.`update_dt` <=> BINARY b.`update_dt`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sj_job backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sj_job backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_alert_rule` (`id`,`rule_name`,`rule_type`,`monitor_metric`,`stat_period_days`,`mom_direction`,`mom_threshold`,`unlogin_days`,`monitor_scope`,`warning_color`,`creator_id`,`enabled`,`is_deleted`,`created_at`,`updated_at`) SELECT `id`,`rule_name`,`rule_type`,`monitor_metric`,`stat_period_days`,`mom_direction`,`mom_threshold`,`unlogin_days`,`monitor_scope`,`warning_color`,`creator_id`,`enabled`,`is_deleted`,`created_at`,`updated_at` FROM `sys_alert_rule`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_alert_rule`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_rule`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_rule backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_rule backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_rule` s LEFT JOIN `bak_sw2kra_20261103_sys_alert_rule` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`rule_name` <=> BINARY b.`rule_name`) AND (BINARY s.`rule_type` <=> BINARY b.`rule_type`) AND (BINARY s.`monitor_metric` <=> BINARY b.`monitor_metric`) AND (BINARY s.`stat_period_days` <=> BINARY b.`stat_period_days`) AND (BINARY s.`mom_direction` <=> BINARY b.`mom_direction`) AND (BINARY s.`mom_threshold` <=> BINARY b.`mom_threshold`) AND (BINARY s.`unlogin_days` <=> BINARY b.`unlogin_days`) AND (BINARY s.`monitor_scope` <=> BINARY b.`monitor_scope`) AND (BINARY s.`warning_color` <=> BINARY b.`warning_color`) AND (BINARY s.`creator_id` <=> BINARY b.`creator_id`) AND (BINARY s.`enabled` <=> BINARY b.`enabled`) AND (BINARY s.`is_deleted` <=> BINARY b.`is_deleted`) AND (BINARY s.`created_at` <=> BINARY b.`created_at`) AND (BINARY s.`updated_at` <=> BINARY b.`updated_at`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_rule backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_rule backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_alert_record` (`id`,`platform_code`,`platform_name`,`rule_id`,`rule_name`,`rule_type`,`monitor_metric`,`target_promote_id`,`target_promote_name`,`business_id`,`business_name`,`alert_content`,`status`,`alert_date`,`created_at`,`updated_at`) SELECT `id`,`platform_code`,`platform_name`,`rule_id`,`rule_name`,`rule_type`,`monitor_metric`,`target_promote_id`,`target_promote_name`,`business_id`,`business_name`,`alert_content`,`status`,`alert_date`,`created_at`,`updated_at` FROM `sys_alert_record`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_alert_record`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_record`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_record backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_record backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_record` s LEFT JOIN `bak_sw2kra_20261103_sys_alert_record` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`platform_code` <=> BINARY b.`platform_code`) AND (BINARY s.`platform_name` <=> BINARY b.`platform_name`) AND (BINARY s.`rule_id` <=> BINARY b.`rule_id`) AND (BINARY s.`rule_name` <=> BINARY b.`rule_name`) AND (BINARY s.`rule_type` <=> BINARY b.`rule_type`) AND (BINARY s.`monitor_metric` <=> BINARY b.`monitor_metric`) AND (BINARY s.`target_promote_id` <=> BINARY b.`target_promote_id`) AND (BINARY s.`target_promote_name` <=> BINARY b.`target_promote_name`) AND (BINARY s.`business_id` <=> BINARY b.`business_id`) AND (BINARY s.`business_name` <=> BINARY b.`business_name`) AND (BINARY s.`alert_content` <=> BINARY b.`alert_content`) AND (BINARY s.`status` <=> BINARY b.`status`) AND (BINARY s.`alert_date` <=> BINARY b.`alert_date`) AND (BINARY s.`created_at` <=> BINARY b.`created_at`) AND (BINARY s.`updated_at` <=> BINARY b.`updated_at`) AND (BINARY s.`unclosed_flag` <=> BINARY b.`unclosed_flag`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_record backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_record backup bytes'; END IF;
|
|
|
|
INSERT INTO `bak_sw2kra_20261103_sys_alert_operation_log` (`id`,`alert_id`,`operator_id`,`operator_name`,`log_type`,`action_detail`,`note_content`,`attachment_ids`,`created_at`) SELECT `id`,`alert_id`,`operator_id`,`operator_name`,`log_type`,`action_detail`,`note_content`,`attachment_ids`,`created_at` FROM `sys_alert_operation_log`;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_alert_operation_log`) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_operation_log`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_operation_log backup rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_operation_log backup rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `sys_alert_operation_log` s LEFT JOIN `bak_sw2kra_20261103_sys_alert_operation_log` b ON s.`id`=b.`id` WHERE b.`id` IS NULL OR NOT((BINARY s.`id` <=> BINARY b.`id`) AND (BINARY s.`alert_id` <=> BINARY b.`alert_id`) AND (BINARY s.`operator_id` <=> BINARY b.`operator_id`) AND (BINARY s.`operator_name` <=> BINARY b.`operator_name`) AND (BINARY s.`log_type` <=> BINARY b.`log_type`) AND (BINARY s.`action_detail` <=> BINARY b.`action_detail`) AND (BINARY s.`note_content` <=> BINARY b.`note_content`) AND (BINARY s.`attachment_ids` <=> BINARY b.`attachment_ids`) AND (BINARY s.`created_at` <=> BINARY b.`created_at`))) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('backup','sys_alert_operation_log backup bytes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='sys_alert_operation_log backup bytes'; END IF;
|
|
|
|
COMMIT;
|
|
SELECT '旧框架备份已校验' AS result;
|
|
|
|
-- 四、按 Kra 当前定义创建目标表,并增加商务账号和岗位扩展字段。
|
|
|
|
CREATE TABLE `sys_schema_migrations` (`id` varchar(255),PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_users` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`uuid` char(36),`username` varchar(191),`password` longtext,`nick_name` longtext,`header_img` longtext,`authority_id` bigint unsigned,`dept_id` bigint unsigned,`phone` longtext,`email` longtext,`enable` bigint DEFAULT 1,`origin_setting` text,`password_updated_at` datetime(3) NULL,`must_change_password` boolean,PRIMARY KEY (`id`),INDEX `idx_sys_users_deleted_at` (`deleted_at`),INDEX `idx_sys_users_uuid` (`uuid`),INDEX `idx_sys_users_username` (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_authorities` (`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`authority_id` bigint unsigned AUTO_INCREMENT,`authority_name` longtext,`parent_id` bigint unsigned,`data_scope` bigint DEFAULT 1,`default_router` varchar(191) DEFAULT 'dashboard',PRIMARY KEY (`authority_id`),INDEX `idx_sys_authorities_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_base_menus` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`menu_level` bigint unsigned,`parent_id` bigint unsigned,`path` longtext,`name` longtext,`hidden` boolean,`component` longtext,`sort` bigint,`active_name` longtext,`keep_alive` boolean,`default_menu` boolean,`title` longtext,`icon` longtext,`close_tab` boolean,`transition_type` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_base_menus_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_user_authority` (`sys_user_id` bigint unsigned,`sys_authority_authority_id` bigint unsigned) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_authority_menus` (`sys_authority_authority_id` bigint unsigned,`sys_base_menu_id` bigint unsigned) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_base_menu_parameters` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`sys_base_menu_id` bigint unsigned,`type` longtext,`key` longtext,`value` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_base_menu_parameters_deleted_at` (`deleted_at`),INDEX `idx_sys_base_menu_parameters_menu_id` (`sys_base_menu_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_apis` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`path` longtext,`description` longtext,`api_group` longtext,`method` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_apis_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_ignore_apis` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`path` longtext,`method` varchar(191) DEFAULT 'POST',PRIMARY KEY (`id`),INDEX `idx_sys_ignore_apis_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_authority_apis` (`authority_id` bigint unsigned,`api_id` bigint unsigned,PRIMARY KEY (`authority_id`,`api_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `casbin_rule` (`id` bigint unsigned AUTO_INCREMENT,`ptype` varchar(100),`v0` varchar(100),`v1` varchar(100),`v2` varchar(100),`v3` varchar(100),`v4` varchar(100),`v5` varchar(100),PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_base_menu_btns` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` longtext,`desc` longtext,`sys_base_menu_id` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_sys_base_menu_btns_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_authority_btns` (`authority_id` bigint unsigned,`sys_menu_id` bigint unsigned,`sys_base_menu_btn_id` bigint unsigned) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_departments` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` varchar(191),`parent_id` bigint unsigned,`ancestors` longtext,`sort` bigint,`leader_id` bigint unsigned,`status` boolean DEFAULT true,PRIMARY KEY (`id`),INDEX `idx_sys_departments_deleted_at` (`deleted_at`),INDEX `idx_sys_departments_name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_positions` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` varchar(191),`code` longtext,`sort` bigint,`status` boolean DEFAULT true,`remark` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_positions_deleted_at` (`deleted_at`),INDEX `idx_sys_positions_name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_user_departments` (`sys_user_id` bigint unsigned,`sys_department_id` bigint unsigned) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_user_positions` (`sys_user_id` bigint unsigned,`sys_position_id` bigint unsigned) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_authority_departments` (`sys_authority_authority_id` bigint unsigned,`sys_department_id` bigint unsigned,INDEX `idx_sys_authority_departments_authority_id` (`sys_authority_authority_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_dictionaries` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` longtext,`type` longtext,`status` boolean,`desc` longtext,`parent_id` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_sys_dictionaries_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_dictionary_details` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`label` longtext,`value` longtext,`extend` longtext,`status` boolean,`sort` bigint,`sys_dictionary_id` bigint unsigned,`parent_id` bigint unsigned,`level` bigint,`path` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_dictionary_details_deleted_at` (`deleted_at`),INDEX `idx_sys_dictionary_details_dictionary_id` (`sys_dictionary_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_params` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` longtext,`key` longtext,`value` longtext,`desc` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_params_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_api_tokens` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`user_id` bigint unsigned,`authority_id` bigint unsigned,`token` text,`status` boolean,`expires_at` datetime(3) NULL,`remark` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_api_tokens_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `jwt_blacklists` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`jwt` text,PRIMARY KEY (`id`),INDEX `idx_jwt_blacklists_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_security_config` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`captcha_open` bigint DEFAULT 0,`captcha_timeout` bigint DEFAULT 3600,`key_long` bigint DEFAULT 6,`img_width` bigint DEFAULT 240,`img_height` bigint DEFAULT 80,`pwd_min_length` bigint DEFAULT 8,`pwd_require_upper` boolean DEFAULT false,`pwd_require_lower` boolean DEFAULT false,`pwd_require_digit` boolean DEFAULT false,`pwd_require_special` boolean DEFAULT false,`limit_enable` boolean DEFAULT false,`limit_window` bigint DEFAULT 60,`limit_count` bigint DEFAULT 30,`lock_enable` boolean DEFAULT false,`lock_threshold` bigint DEFAULT 5,`lock_duration` bigint DEFAULT 30,`pwd_expire_enable` boolean DEFAULT false,`pwd_expire_days` bigint DEFAULT 90,`force_new_user_change_password` boolean DEFAULT false,PRIMARY KEY (`id`),INDEX `idx_sys_security_config_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_versions` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`version_name` longtext,`version_code` longtext,`description` longtext,`version_data` text,PRIMARY KEY (`id`),INDEX `idx_sys_versions_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_export_templates` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`db_name` longtext,`name` longtext,`table_name` longtext,`template_id` longtext,`template_info` text,`sql` text,`import_sql` text,`limit` bigint,`order` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_export_templates_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_export_template_condition` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`template_id` varchar(191),`from` longtext,`column` longtext,`operator` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_export_template_condition_deleted_at` (`deleted_at`),INDEX `idx_sys_export_template_condition_template_id` (`template_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_export_template_join` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`template_id` varchar(191),`joins` longtext,`table` longtext,`on` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_export_template_join_deleted_at` (`deleted_at`),INDEX `idx_sys_export_template_join_template_id` (`template_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_operation_records` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`ip` longtext,`method` longtext,`path` longtext,`status` bigint,`latency_ms` bigint,`agent` text,`error_message` longtext,`body` text,`resp` text,`user_id` bigint unsigned,`request_id` varchar(191),`trace_id` varchar(191),`device_id` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_operation_records_deleted_at` (`deleted_at`),INDEX `idx_sys_operation_records_request_id` (`request_id`),INDEX `idx_sys_operation_records_trace_id` (`trace_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_login_logs` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`username` longtext,`ip` longtext,`status` boolean,`error_message` longtext,`agent` longtext,`user_id` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_sys_login_logs_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_data_access_logs` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`event_type` longtext,`target_table` longtext,`operation` longtext,`user_id` bigint unsigned,`authority_id` bigint unsigned,`scope` bigint,`request_id` longtext,`method` longtext,`path` longtext,`detail` longtext,PRIMARY KEY (`id`),INDEX `idx_sys_data_access_logs_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_error` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`form` text,`info` text,`level` longtext,`request_id` varchar(191),`trace_id` varchar(191),`solution` text,`status` varchar(191) DEFAULT '未处理',PRIMARY KEY (`id`),INDEX `idx_sys_error_deleted_at` (`deleted_at`),INDEX `idx_sys_error_request_id` (`request_id`),INDEX `idx_sys_error_trace_id` (`trace_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `media_file_upload_and_downloads` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` longtext,`class_id` bigint,`url` longtext,`tag` longtext,`key` varchar(191),`size` bigint,`mime` longtext,`md5` varchar(191),`user_id` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_media_file_upload_and_downloads_deleted_at` (`deleted_at`),INDEX `idx_media_file_upload_and_downloads_key` (`key`),INDEX `idx_media_file_upload_and_downloads_md5` (`md5`),INDEX `idx_media_file_upload_and_downloads_user_id` (`user_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `media_attachment_category` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` longtext,`pid` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_media_attachment_category_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `media_uploads` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`user_id` bigint unsigned,`file_name` longtext,`file_hash` varchar(191),`file_size` bigint,`chunk_size` bigint,`chunk_total` bigint,`status` longtext,`storage_key` longtext,`media_id` bigint unsigned,PRIMARY KEY (`id`),INDEX `idx_media_uploads_deleted_at` (`deleted_at`),INDEX `idx_media_uploads_user_id` (`user_id`),INDEX `idx_media_uploads_file_hash` (`file_hash`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `media_upload_chunks` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`upload_id` bigint unsigned,`chunk_index` bigint,`chunk_hash` longtext,`size` bigint,PRIMARY KEY (`id`),INDEX `idx_media_upload_chunks_deleted_at` (`deleted_at`),UNIQUE INDEX `idx_upload_chunk` (`upload_id`,`chunk_index`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_announcements` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`title` longtext,`content` text,`user_id` bigint,`attachments` JSON,PRIMARY KEY (`id`),INDEX `idx_sys_announcements_deleted_at` (`deleted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_integration_configs` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`kind` varchar(32) NOT NULL,`provider` varchar(64) NOT NULL,`enabled` boolean,`config` text NOT NULL,PRIMARY KEY (`id`),UNIQUE INDEX `idx_integration_kind_provider` (`kind`,`provider`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_timed_tasks` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`name` varchar(191),`description` longtext,`spec` longtext,`with_seconds` boolean,`executor_type` longtext,`method_name` longtext,`params` JSON,`http_url` longtext,`http_method` longtext,`http_header` JSON,`http_body` text,`http_allow_private` boolean,`enabled` boolean,PRIMARY KEY (`id`),INDEX `idx_sys_timed_tasks_deleted_at` (`deleted_at`),INDEX `idx_sys_timed_tasks_name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `sys_timed_task_logs` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`deleted_at` datetime(3) NULL,`task_id` bigint unsigned,`task_name` longtext,`trigger_type` longtext,`started_at` datetime(3) NULL,`finished_at` datetime(3) NULL,`duration_ms` bigint,`status` longtext,`error_msg` text,`output` text,PRIMARY KEY (`id`),INDEX `idx_sys_timed_task_logs_deleted_at` (`deleted_at`),INDEX `idx_sys_timed_task_logs_task_id` (`task_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `pay_orders` (`id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`trade_no` varchar(128) NOT NULL,`provider` varchar(64) NOT NULL,`provider_trade_no` varchar(128),`query_id` varchar(128),`business_type` varchar(64) NOT NULL,`business_id` varchar(128) NOT NULL,`subject` varchar(256) NOT NULL,`payment_mode` varchar(32) NOT NULL DEFAULT 'external',`original_amount` bigint NOT NULL DEFAULT 0,`amount` bigint NOT NULL,`paid_amount` bigint NOT NULL DEFAULT 0,`payer_paid_amount` bigint NOT NULL DEFAULT 0,`cash_paid_amount` bigint NOT NULL DEFAULT 0,`point_paid_amount` bigint NOT NULL DEFAULT 0,`discount_amount` bigint NOT NULL DEFAULT 0,`provider_discount_amount` bigint NOT NULL DEFAULT 0,`merchant_discount_amount` bigint NOT NULL DEFAULT 0,`settlement_amount` bigint NOT NULL DEFAULT 0,`currency` varchar(16) NOT NULL,`payer_currency` varchar(16),`amount_breakdown_known` boolean NOT NULL DEFAULT false,`payment_status` varchar(32) NOT NULL,`provider_status` varchar(64),`fulfillment_status` varchar(32) NOT NULL,`refund_status` varchar(32) NOT NULL,`refunded_amount` bigint NOT NULL DEFAULT 0,`refund_requested_amount` bigint NOT NULL DEFAULT 0,`refund_no` varchar(128),`confirmation_id` varchar(36) NOT NULL,`request_fingerprint` varchar(64) NOT NULL,`create_payload` text,`extra` text,`last_event_id` varchar(128),`last_payload_hash` varchar(64),`last_error` varchar(512),`fulfillment_token` varchar(36),`refund_token` varchar(36),`version` bigint unsigned NOT NULL DEFAULT 1,`paid_at` datetime(3) NULL,`fulfilled_at` datetime(3) NULL,`refunded_at` datetime(3) NULL,`fulfillment_lease_until` datetime(3) NULL,`refund_lease_until` datetime(3) NULL,PRIMARY KEY (`id`),UNIQUE INDEX `idx_pay_orders_provider_trade` (`trade_no`,`provider`),UNIQUE INDEX `idx_pay_orders_provider_provider_trade` (`provider`,`provider_trade_no`),INDEX `idx_pay_orders_provider` (`provider`),INDEX `idx_pay_orders_business` (`business_type`,`business_id`),INDEX `idx_pay_orders_payment_mode` (`payment_mode`),INDEX `idx_pay_orders_payment_status` (`payment_status`),INDEX `idx_pay_orders_fulfillment_status` (`fulfillment_status`),INDEX `idx_pay_orders_refund_status` (`refund_status`),INDEX `idx_pay_orders_refund_no` (`refund_no`),UNIQUE INDEX `idx_pay_orders_confirmation_id` (`confirmation_id`),INDEX `idx_pay_orders_request_fingerprint` (`request_fingerprint`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
CREATE TABLE `pay_events` (`id` bigint unsigned AUTO_INCREMENT,`provider` varchar(64) NOT NULL,`trade_no` varchar(128) NOT NULL,`type` varchar(64) NOT NULL,`source` varchar(64) NOT NULL,`status` varchar(64),`provider_status` varchar(64),`message` varchar(512),`event_id` varchar(128),`payload_hash` varchar(64),`amount` bigint NOT NULL DEFAULT 0,`currency` varchar(16),`operator_id` bigint unsigned,`operator_name` varchar(128),`client_ip` varchar(64),`user_agent` varchar(512),`device_id` varchar(128),`created_at` datetime(3) NULL,PRIMARY KEY (`id`),INDEX `idx_pay_events_order` (`provider`,`trade_no`),INDEX `idx_pay_events_type` (`type`),INDEX `idx_pay_events_source` (`source`),INDEX `idx_pay_events_event_id` (`event_id`),INDEX `idx_pay_events_operator_id` (`operator_id`),INDEX `idx_pay_events_created_at` (`created_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
|
|
|
|
ALTER TABLE sys_users ADD COLUMN level TINYINT UNSIGNED NOT NULL DEFAULT 0,ADD COLUMN parent_id BIGINT UNSIGNED NOT NULL DEFAULT 0,ADD COLUMN id_path VARCHAR(255) NOT NULL DEFAULT '0',ADD COLUMN real_name VARCHAR(30) NOT NULL DEFAULT '',ADD COLUMN qq_number VARCHAR(20) NOT NULL DEFAULT '',ADD COLUMN business_status TINYINT UNSIGNED NOT NULL DEFAULT 0,ADD COLUMN reject_reason VARCHAR(200) NOT NULL DEFAULT '',ADD INDEX idx_sys_users_business_parent(parent_id);
|
|
|
|
ALTER TABLE sys_positions ADD COLUMN dept_id BIGINT UNSIGNED NULL,ADD INDEX idx_sys_positions_department(dept_id);
|
|
|
|
CREATE TABLE sw_kra_id_map (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,entity VARCHAR(32) NOT NULL,old_id VARCHAR(64) NOT NULL,new_id BIGINT UNSIGNED NULL,UNIQUE KEY uk_source(entity,old_id),UNIQUE KEY uk_target(entity,new_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
|
|
|
|
CREATE TABLE sw_kra_menu_permissions (source_menu_id BIGINT UNSIGNED PRIMARY KEY,source_permission VARCHAR(160),button_key VARCHAR(160)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE sw_kra_api_contract (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,method VARCHAR(12),source_path VARCHAR(255),target_path VARCHAR(255),source_permission VARCHAR(160),controller VARCHAR(80),implementation_status VARCHAR(32) NOT NULL DEFAULT 'pending_go_handler') ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
START TRANSACTION;
|
|
|
|
-- 五、写入 Kra 必需初始数据,并按 ID 映射转换用户、角色、部门及其他框架数据。
|
|
|
|
INSERT INTO `casbin_rule` (`id`,`ptype`,`v0`,`v1`,`v2`,`v3`,`v4`,`v5`) VALUES
|
|
(1,'p','888','/integration/configs/:kind','GET','','',''),
|
|
(2,'p','888','/integration/configs/:kind/:provider','DELETE','','',''),
|
|
(3,'p','888','/integration/configs/:kind/:provider','GET','','',''),
|
|
(4,'p','888','/integration/configs/:kind/:provider','PUT','','',''),
|
|
(5,'p','888','/integration/configs/:kind/:provider/test','POST','','',''),
|
|
(6,'p','888','/integration/sms/:provider/send','POST','','',''),
|
|
(7,'p','888','/payment/create','POST','','',''),
|
|
(8,'p','888','/payment/fulfill','POST','','',''),
|
|
(9,'p','888','/payment/order','POST','','',''),
|
|
(10,'p','888','/payment/orders','GET','','',''),
|
|
(11,'p','888','/payment/orders/:provider/:tradeNo','GET','','',''),
|
|
(12,'p','888','/payment/orders/:provider/:tradeNo/events','GET','','',''),
|
|
(13,'p','888','/payment/orders/:provider/:tradeNo/fulfill','POST','','',''),
|
|
(14,'p','888','/payment/orders/:provider/:tradeNo/refund','POST','','',''),
|
|
(15,'p','888','/payment/orders/summary','GET','','',''),
|
|
(16,'p','888','/payment/providers/:provider/test','POST','','',''),
|
|
(17,'p','888','/payment/query','POST','','',''),
|
|
(18,'p','888','/payment/refund','POST','','',''),
|
|
(19,'p','888','/api/createApi','POST','','',''),
|
|
(20,'p','888','/api/deleteApi','POST','','',''),
|
|
(21,'p','888','/api/deleteApisByIds','DELETE','','',''),
|
|
(22,'p','888','/api/enterSyncApi','POST','','',''),
|
|
(23,'p','888','/api/getAllApis','POST','','',''),
|
|
(24,'p','888','/api/getApiById','POST','','',''),
|
|
(25,'p','888','/api/getApiGroups','GET','','',''),
|
|
(26,'p','888','/api/getApiList','POST','','',''),
|
|
(27,'p','888','/api/getApiRoles','GET','','',''),
|
|
(28,'p','888','/api/ignoreApi','POST','','',''),
|
|
(29,'p','888','/api/setApiRoles','POST','','',''),
|
|
(30,'p','888','/api/syncApi','GET','','',''),
|
|
(31,'p','888','/api/updateApi','POST','','',''),
|
|
(32,'p','888','/attachmentCategory/addCategory','POST','','',''),
|
|
(33,'p','888','/attachmentCategory/deleteCategory','POST','','',''),
|
|
(34,'p','888','/attachmentCategory/getCategoryList','GET','','',''),
|
|
(35,'p','888','/authority/copyAuthority','POST','','',''),
|
|
(36,'p','888','/authority/createAuthority','POST','','',''),
|
|
(37,'p','888','/authority/deleteAuthority','POST','','',''),
|
|
(38,'p','888','/authority/getAuthorityList','POST','','',''),
|
|
(39,'p','888','/authority/getDataScopeDepts','GET','','',''),
|
|
(40,'p','888','/authority/getUsersByAuthority','GET','','',''),
|
|
(41,'p','888','/authority/setDataScope','POST','','',''),
|
|
(42,'p','888','/authority/setRoleUsers','POST','','',''),
|
|
(43,'p','888','/authority/updateAuthority','PUT','','',''),
|
|
(44,'p','888','/authorityBtn/canRemoveAuthorityBtn','POST','','',''),
|
|
(45,'p','888','/authorityBtn/getAuthorityBtn','POST','','',''),
|
|
(46,'p','888','/authorityBtn/setAuthorityBtn','POST','','',''),
|
|
(47,'p','888','/casbin/getPolicyPathByAuthorityId','POST','','',''),
|
|
(48,'p','888','/casbin/updateCasbin','POST','','',''),
|
|
(49,'p','888','/dataAccessLog/deleteDataAccessLogByIds','DELETE','','',''),
|
|
(50,'p','888','/dataAccessLog/getDataAccessLogList','POST','','',''),
|
|
(51,'p','888','/department/createDepartment','POST','','',''),
|
|
(52,'p','888','/department/deleteDepartment','DELETE','','',''),
|
|
(53,'p','888','/department/findDepartment','GET','','',''),
|
|
(54,'p','888','/department/getDepartmentList','POST','','',''),
|
|
(55,'p','888','/department/getDepartmentUsers','GET','','',''),
|
|
(56,'p','888','/department/setDepartmentUsers','POST','','',''),
|
|
(57,'p','888','/department/updateDepartment','PUT','','',''),
|
|
(58,'p','888','/email/emailTest','POST','','',''),
|
|
(59,'p','888','/email/sendEmail','POST','','',''),
|
|
(60,'p','888','/fileUploadAndDownload/deleteFile','POST','','',''),
|
|
(61,'p','888','/fileUploadAndDownload/deleteFiles','POST','','',''),
|
|
(62,'p','888','/fileUploadAndDownload/editFileName','POST','','',''),
|
|
(63,'p','888','/fileUploadAndDownload/findFile','GET','','',''),
|
|
(64,'p','888','/fileUploadAndDownload/getFileList','POST','','',''),
|
|
(65,'p','888','/fileUploadAndDownload/importURL','POST','','',''),
|
|
(66,'p','888','/fileUploadAndDownload/listOssFiles','POST','','',''),
|
|
(67,'p','888','/fileUploadAndDownload/upload','POST','','',''),
|
|
(68,'p','888','/info/createInfo','POST','','',''),
|
|
(69,'p','888','/info/deleteInfo','DELETE','','',''),
|
|
(70,'p','888','/info/deleteInfoByIds','DELETE','','',''),
|
|
(71,'p','888','/info/findInfo','GET','','',''),
|
|
(72,'p','888','/info/getInfoDataSource','GET','','',''),
|
|
(73,'p','888','/info/getInfoList','GET','','',''),
|
|
(74,'p','888','/info/updateInfo','PUT','','',''),
|
|
(75,'p','888','/jwt/jsonInBlacklist','POST','','',''),
|
|
(76,'p','888','/logViewer/content','GET','','',''),
|
|
(77,'p','888','/logViewer/dates','GET','','',''),
|
|
(78,'p','888','/logViewer/files','GET','','',''),
|
|
(79,'p','888','/mediaUpload/:uploadId','DELETE','','',''),
|
|
(80,'p','888','/mediaUpload/chunk','POST','','',''),
|
|
(81,'p','888','/mediaUpload/complete','POST','','',''),
|
|
(82,'p','888','/mediaUpload/init','POST','','',''),
|
|
(83,'p','888','/menu/addBaseMenu','POST','','',''),
|
|
(84,'p','888','/menu/addMenuAuthority','POST','','',''),
|
|
(85,'p','888','/menu/deleteBaseMenu','POST','','',''),
|
|
(86,'p','888','/menu/getBaseMenuById','POST','','',''),
|
|
(87,'p','888','/menu/getBaseMenuTree','POST','','',''),
|
|
(88,'p','888','/menu/getMenu','POST','','',''),
|
|
(89,'p','888','/menu/getMenuAuthority','POST','','',''),
|
|
(90,'p','888','/menu/getMenuList','POST','','',''),
|
|
(91,'p','888','/menu/getMenuRoles','GET','','',''),
|
|
(92,'p','888','/menu/setMenuRoles','POST','','',''),
|
|
(93,'p','888','/menu/updateBaseMenu','POST','','',''),
|
|
(94,'p','888','/payment/callback/:provider','POST','','',''),
|
|
(95,'p','888','/position/createPosition','POST','','',''),
|
|
(96,'p','888','/position/deletePosition','DELETE','','',''),
|
|
(97,'p','888','/position/findPosition','GET','','',''),
|
|
(98,'p','888','/position/getPositionList','POST','','',''),
|
|
(99,'p','888','/position/getPositionUsers','GET','','',''),
|
|
(100,'p','888','/position/setPositionUsers','POST','','',''),
|
|
(101,'p','888','/position/updatePosition','PUT','','',''),
|
|
(102,'p','888','/securityConfig/getSecurityConfig','GET','','',''),
|
|
(103,'p','888','/securityConfig/setSecurityConfig','POST','','',''),
|
|
(104,'p','888','/sysApiToken/createApiToken','POST','','',''),
|
|
(105,'p','888','/sysApiToken/deleteApiToken','POST','','',''),
|
|
(106,'p','888','/sysApiToken/getApiTokenList','POST','','',''),
|
|
(107,'p','888','/sysDictionary/createSysDictionary','POST','','',''),
|
|
(108,'p','888','/sysDictionary/deleteSysDictionary','DELETE','','',''),
|
|
(109,'p','888','/sysDictionary/exportSysDictionary','GET','','',''),
|
|
(110,'p','888','/sysDictionary/findSysDictionary','GET','','',''),
|
|
(111,'p','888','/sysDictionary/getSysDictionaryList','GET','','',''),
|
|
(112,'p','888','/sysDictionary/getSysDictionaryListWithDetails','GET','','',''),
|
|
(113,'p','888','/sysDictionary/importSysDictionary','POST','','',''),
|
|
(114,'p','888','/sysDictionary/updateSysDictionary','PUT','','',''),
|
|
(115,'p','888','/sysDictionaryDetail/createSysDictionaryDetail','POST','','',''),
|
|
(116,'p','888','/sysDictionaryDetail/deleteSysDictionaryDetail','DELETE','','',''),
|
|
(117,'p','888','/sysDictionaryDetail/findSysDictionaryDetail','GET','','',''),
|
|
(118,'p','888','/sysDictionaryDetail/getDictionaryDetailsByParent','GET','','',''),
|
|
(119,'p','888','/sysDictionaryDetail/getDictionaryPath','GET','','',''),
|
|
(120,'p','888','/sysDictionaryDetail/getDictionaryTreeList','GET','','',''),
|
|
(121,'p','888','/sysDictionaryDetail/getDictionaryTreeListByType','GET','','',''),
|
|
(122,'p','888','/sysDictionaryDetail/getSysDictionaryDetailList','GET','','',''),
|
|
(123,'p','888','/sysDictionaryDetail/updateSysDictionaryDetail','PUT','','',''),
|
|
(124,'p','888','/sysError/createSysError','POST','','',''),
|
|
(125,'p','888','/sysError/deleteSysError','DELETE','','',''),
|
|
(126,'p','888','/sysError/deleteSysErrorByIds','DELETE','','',''),
|
|
(127,'p','888','/sysError/findSysError','GET','','',''),
|
|
(128,'p','888','/sysError/getSysErrorList','GET','','',''),
|
|
(129,'p','888','/sysError/updateSysError','PUT','','',''),
|
|
(130,'p','888','/sysExportTemplate/createSysExportTemplate','POST','','',''),
|
|
(131,'p','888','/sysExportTemplate/deleteSysExportTemplate','DELETE','','',''),
|
|
(132,'p','888','/sysExportTemplate/deleteSysExportTemplateByIds','DELETE','','',''),
|
|
(133,'p','888','/sysExportTemplate/exportExcel','GET','','',''),
|
|
(134,'p','888','/sysExportTemplate/exportExcelByToken','GET','','',''),
|
|
(135,'p','888','/sysExportTemplate/exportTemplate','GET','','',''),
|
|
(136,'p','888','/sysExportTemplate/exportTemplateByToken','GET','','',''),
|
|
(137,'p','888','/sysExportTemplate/findSysExportTemplate','GET','','',''),
|
|
(138,'p','888','/sysExportTemplate/getSysExportTemplateList','GET','','',''),
|
|
(139,'p','888','/sysExportTemplate/importExcel','POST','','',''),
|
|
(140,'p','888','/sysExportTemplate/previewSQL','GET','','',''),
|
|
(141,'p','888','/sysExportTemplate/updateSysExportTemplate','PUT','','',''),
|
|
(142,'p','888','/sysLoginLog/deleteLoginLog','DELETE','','',''),
|
|
(143,'p','888','/sysLoginLog/deleteLoginLogByIds','DELETE','','',''),
|
|
(144,'p','888','/sysLoginLog/findLoginLog','GET','','',''),
|
|
(145,'p','888','/sysLoginLog/getLoginLogList','GET','','',''),
|
|
(146,'p','888','/sysOperationRecord/deleteSysOperationRecord','DELETE','','',''),
|
|
(147,'p','888','/sysOperationRecord/deleteSysOperationRecordByIds','DELETE','','',''),
|
|
(148,'p','888','/sysOperationRecord/findSysOperationRecord','GET','','',''),
|
|
(149,'p','888','/sysOperationRecord/getSysOperationRecordList','GET','','',''),
|
|
(150,'p','888','/sysParams/createSysParams','POST','','',''),
|
|
(151,'p','888','/sysParams/deleteSysParams','DELETE','','',''),
|
|
(152,'p','888','/sysParams/deleteSysParamsByIds','DELETE','','',''),
|
|
(153,'p','888','/sysParams/findSysParams','GET','','',''),
|
|
(154,'p','888','/sysParams/getSysParam','GET','','',''),
|
|
(155,'p','888','/sysParams/getSysParamsList','GET','','',''),
|
|
(156,'p','888','/sysParams/updateSysParams','PUT','','',''),
|
|
(157,'p','888','/sysVersion/deleteSysVersion','DELETE','','',''),
|
|
(158,'p','888','/sysVersion/deleteSysVersionByIds','DELETE','','',''),
|
|
(159,'p','888','/sysVersion/downloadVersionJson','GET','','',''),
|
|
(160,'p','888','/sysVersion/exportVersion','POST','','',''),
|
|
(161,'p','888','/sysVersion/findSysVersion','GET','','',''),
|
|
(162,'p','888','/sysVersion/getSysVersionList','GET','','',''),
|
|
(163,'p','888','/sysVersion/importVersion','POST','','',''),
|
|
(164,'p','888','/system/getServerInfo','POST','','',''),
|
|
(165,'p','888','/system/getSystemConfig','POST','','',''),
|
|
(166,'p','888','/system/setSystemConfig','POST','','',''),
|
|
(167,'p','888','/timedTask/alertStream','GET','','',''),
|
|
(168,'p','888','/timedTask/createTimedTask','POST','','',''),
|
|
(169,'p','888','/timedTask/deleteTimedTask','DELETE','','',''),
|
|
(170,'p','888','/timedTask/getRegisteredMethods','GET','','',''),
|
|
(171,'p','888','/timedTask/getTimedTaskList','GET','','',''),
|
|
(172,'p','888','/timedTask/getTimedTaskLogList','GET','','',''),
|
|
(173,'p','888','/timedTask/toggleTimedTask','POST','','',''),
|
|
(174,'p','888','/timedTask/triggerTimedTask','POST','','',''),
|
|
(175,'p','888','/timedTask/updateTimedTask','PUT','','',''),
|
|
(176,'p','888','/user/admin_register','POST','','',''),
|
|
(177,'p','888','/user/changePassword','POST','','',''),
|
|
(178,'p','888','/user/deleteUser','DELETE','','',''),
|
|
(179,'p','888','/user/getUserInfo','GET','','',''),
|
|
(180,'p','888','/user/getUserList','POST','','',''),
|
|
(181,'p','888','/user/resetPassword','POST','','',''),
|
|
(182,'p','888','/user/setSelfInfo','PUT','','',''),
|
|
(183,'p','888','/user/setSelfSetting','PUT','','',''),
|
|
(184,'p','888','/user/setUserAuthorities','POST','','',''),
|
|
(185,'p','888','/user/setUserAuthority','POST','','',''),
|
|
(186,'p','888','/user/setUserDepartments','POST','','',''),
|
|
(187,'p','888','/user/setUserInfo','PUT','','',''),
|
|
(188,'p','888','/user/setUserPositions','POST','','','');
|
|
|
|
INSERT INTO `sys_apis` (`api_group`,`created_at`,`deleted_at`,`description`,`id`,`method`,`path`,`updated_at`) VALUES
|
|
('集成配置',NOW(3),NULL,'按类型获取集成配置',1,'GET','/integration/configs/:kind',NOW(3)),
|
|
('集成配置',NOW(3),NULL,'删除集成配置',2,'DELETE','/integration/configs/:kind/:provider',NOW(3)),
|
|
('集成配置',NOW(3),NULL,'获取指定集成配置',3,'GET','/integration/configs/:kind/:provider',NOW(3)),
|
|
('集成配置',NOW(3),NULL,'保存集成配置',4,'PUT','/integration/configs/:kind/:provider',NOW(3)),
|
|
('集成配置',NOW(3),NULL,'测试通信集成连接',5,'POST','/integration/configs/:kind/:provider/test',NOW(3)),
|
|
('短信服务',NOW(3),NULL,'发送单条模板短信',6,'POST','/integration/sms/:provider/send',NOW(3)),
|
|
('支付',NOW(3),NULL,'创建支付订单',7,'POST','/payment/create',NOW(3)),
|
|
('支付',NOW(3),NULL,'重试支付订单发货',8,'POST','/payment/fulfill',NOW(3)),
|
|
('支付',NOW(3),NULL,'查询支付订单',9,'POST','/payment/order',NOW(3)),
|
|
('支付',NOW(3),NULL,'分页查询支付订单',10,'GET','/payment/orders',NOW(3)),
|
|
('支付',NOW(3),NULL,'按路径查询支付订单',11,'GET','/payment/orders/:provider/:tradeNo',NOW(3)),
|
|
('支付',NOW(3),NULL,'查询支付订单事件流水',12,'GET','/payment/orders/:provider/:tradeNo/events',NOW(3)),
|
|
('支付',NOW(3),NULL,'按路径重试支付订单发货',13,'POST','/payment/orders/:provider/:tradeNo/fulfill',NOW(3)),
|
|
('支付',NOW(3),NULL,'按路径申请支付订单退款',14,'POST','/payment/orders/:provider/:tradeNo/refund',NOW(3)),
|
|
('支付',NOW(3),NULL,'汇总支付订单运营指标',15,'GET','/payment/orders/summary',NOW(3)),
|
|
('支付',NOW(3),NULL,'测试支付渠道配置与沙箱交易链路',16,'POST','/payment/providers/:provider/test',NOW(3)),
|
|
('支付',NOW(3),NULL,'同步支付订单状态',17,'POST','/payment/query',NOW(3)),
|
|
('支付',NOW(3),NULL,'申请支付订单退款',18,'POST','/payment/refund',NOW(3)),
|
|
('api',NOW(3),NULL,'创建api',19,'POST','/api/createApi',NOW(3)),
|
|
('api',NOW(3),NULL,'删除Api',20,'POST','/api/deleteApi',NOW(3)),
|
|
('api',NOW(3),NULL,'批量删除api',21,'DELETE','/api/deleteApisByIds',NOW(3)),
|
|
('api',NOW(3),NULL,'确认同步API',22,'POST','/api/enterSyncApi',NOW(3)),
|
|
('api',NOW(3),NULL,'刷新 Casbin 缓存',23,'GET','/api/freshCasbin',NOW(3)),
|
|
('api',NOW(3),NULL,'获取所有api',24,'POST','/api/getAllApis',NOW(3)),
|
|
('api',NOW(3),NULL,'获取api详细信息',25,'POST','/api/getApiById',NOW(3)),
|
|
('api',NOW(3),NULL,'获取路由组',26,'GET','/api/getApiGroups',NOW(3)),
|
|
('api',NOW(3),NULL,'获取api列表',27,'POST','/api/getApiList',NOW(3)),
|
|
('api',NOW(3),NULL,'获取指定API关联角色列表',28,'GET','/api/getApiRoles',NOW(3)),
|
|
('api',NOW(3),NULL,'忽略API',29,'POST','/api/ignoreApi',NOW(3)),
|
|
('api',NOW(3),NULL,'全量覆盖API关联角色列表',30,'POST','/api/setApiRoles',NOW(3)),
|
|
('api',NOW(3),NULL,'获取待同步API',31,'GET','/api/syncApi',NOW(3)),
|
|
('api',NOW(3),NULL,'更新Api',32,'POST','/api/updateApi',NOW(3)),
|
|
('媒体库分类',NOW(3),NULL,'添加/编辑分类',33,'POST','/attachmentCategory/addCategory',NOW(3)),
|
|
('媒体库分类',NOW(3),NULL,'删除分类',34,'POST','/attachmentCategory/deleteCategory',NOW(3)),
|
|
('媒体库分类',NOW(3),NULL,'分类列表',35,'GET','/attachmentCategory/getCategoryList',NOW(3)),
|
|
('角色',NOW(3),NULL,'拷贝角色',36,'POST','/authority/copyAuthority',NOW(3)),
|
|
('角色',NOW(3),NULL,'创建角色',37,'POST','/authority/createAuthority',NOW(3)),
|
|
('角色',NOW(3),NULL,'删除角色',38,'POST','/authority/deleteAuthority',NOW(3)),
|
|
('角色',NOW(3),NULL,'获取角色列表',39,'POST','/authority/getAuthorityList',NOW(3)),
|
|
('角色',NOW(3),NULL,'获取角色自定义部门集',40,'GET','/authority/getDataScopeDepts',NOW(3)),
|
|
('角色',NOW(3),NULL,'获取角色关联用户ID列表',41,'GET','/authority/getUsersByAuthority',NOW(3)),
|
|
('角色',NOW(3),NULL,'设置角色数据权限',42,'POST','/authority/setDataScope',NOW(3)),
|
|
('角色',NOW(3),NULL,'全量覆盖角色关联用户',43,'POST','/authority/setRoleUsers',NOW(3)),
|
|
('角色',NOW(3),NULL,'更新角色信息',44,'PUT','/authority/updateAuthority',NOW(3)),
|
|
('按钮权限',NOW(3),NULL,'删除按钮',45,'POST','/authorityBtn/canRemoveAuthorityBtn',NOW(3)),
|
|
('按钮权限',NOW(3),NULL,'获取已有按钮权限',46,'POST','/authorityBtn/getAuthorityBtn',NOW(3)),
|
|
('按钮权限',NOW(3),NULL,'设置按钮权限',47,'POST','/authorityBtn/setAuthorityBtn',NOW(3)),
|
|
('base',NOW(3),NULL,'获取验证码',48,'POST','/base/captcha',NOW(3)),
|
|
('base',NOW(3),NULL,'登录',49,'POST','/base/login',NOW(3)),
|
|
('casbin',NOW(3),NULL,'获取权限列表',50,'POST','/casbin/getPolicyPathByAuthorityId',NOW(3)),
|
|
('casbin',NOW(3),NULL,'更改角色api权限',51,'POST','/casbin/updateCasbin',NOW(3)),
|
|
('数据权限审计',NOW(3),NULL,'批量删除数据权限审计日志',52,'DELETE','/dataAccessLog/deleteDataAccessLogByIds',NOW(3)),
|
|
('数据权限审计',NOW(3),NULL,'获取数据权限审计日志',53,'POST','/dataAccessLog/getDataAccessLogList',NOW(3)),
|
|
('部门',NOW(3),NULL,'创建部门',54,'POST','/department/createDepartment',NOW(3)),
|
|
('部门',NOW(3),NULL,'删除部门',55,'DELETE','/department/deleteDepartment',NOW(3)),
|
|
('部门',NOW(3),NULL,'根据ID获取部门',56,'GET','/department/findDepartment',NOW(3)),
|
|
('部门',NOW(3),NULL,'获取部门树',57,'POST','/department/getDepartmentList',NOW(3)),
|
|
('部门',NOW(3),NULL,'获取部门成员ID列表',58,'GET','/department/getDepartmentUsers',NOW(3)),
|
|
('部门',NOW(3),NULL,'设置部门成员(反向分配)',59,'POST','/department/setDepartmentUsers',NOW(3)),
|
|
('部门',NOW(3),NULL,'更新部门',60,'PUT','/department/updateDepartment',NOW(3)),
|
|
('email',NOW(3),NULL,'发送测试邮件',61,'POST','/email/emailTest',NOW(3)),
|
|
('email',NOW(3),NULL,'发送邮件',62,'POST','/email/sendEmail',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'删除文件',63,'POST','/fileUploadAndDownload/deleteFile',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'批量删除文件',64,'POST','/fileUploadAndDownload/deleteFiles',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'文件名或者备注编辑',65,'POST','/fileUploadAndDownload/editFileName',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'获取文件详情',66,'GET','/fileUploadAndDownload/findFile',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'获取上传文件列表',67,'POST','/fileUploadAndDownload/getFileList',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'导入URL',68,'POST','/fileUploadAndDownload/importURL',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'获取对象存储文件列表',69,'POST','/fileUploadAndDownload/listOssFiles',NOW(3)),
|
|
('文件上传与下载',NOW(3),NULL,'文件上传(建议选择)',70,'POST','/fileUploadAndDownload/upload',NOW(3)),
|
|
('base',NOW(3),NULL,'健康检查',71,'GET','/health',NOW(3)),
|
|
('公告',NOW(3),NULL,'新建公告',72,'POST','/info/createInfo',NOW(3)),
|
|
('公告',NOW(3),NULL,'删除公告',73,'DELETE','/info/deleteInfo',NOW(3)),
|
|
('公告',NOW(3),NULL,'批量删除公告',74,'DELETE','/info/deleteInfoByIds',NOW(3)),
|
|
('公告',NOW(3),NULL,'根据ID获取公告',75,'GET','/info/findInfo',NOW(3)),
|
|
('公告',NOW(3),NULL,'获取公告数据源',76,'GET','/info/getInfoDataSource',NOW(3)),
|
|
('公告',NOW(3),NULL,'获取公告列表',77,'GET','/info/getInfoList',NOW(3)),
|
|
('公告',NOW(3),NULL,'获取公开公告',78,'GET','/info/getInfoPublic',NOW(3)),
|
|
('公告',NOW(3),NULL,'更新公告',79,'PUT','/info/updateInfo',NOW(3)),
|
|
('初始化',NOW(3),NULL,'检查数据库',80,'POST','/init/checkdb',NOW(3)),
|
|
('初始化',NOW(3),NULL,'初始化数据库',81,'POST','/init/initdb',NOW(3)),
|
|
('jwt',NOW(3),NULL,'jwt加入黑名单(退出,必选)',82,'POST','/jwt/jsonInBlacklist',NOW(3)),
|
|
('文件日志',NOW(3),NULL,'分块读取日志文件内容',83,'GET','/logViewer/content',NOW(3)),
|
|
('文件日志',NOW(3),NULL,'获取存在日志的日期',84,'GET','/logViewer/dates',NOW(3)),
|
|
('文件日志',NOW(3),NULL,'获取日期下的日志文件',85,'GET','/logViewer/files',NOW(3)),
|
|
('媒体上传',NOW(3),NULL,'取消大文件上传',86,'DELETE','/mediaUpload/:uploadId',NOW(3)),
|
|
('媒体上传',NOW(3),NULL,'上传分片',87,'POST','/mediaUpload/chunk',NOW(3)),
|
|
('媒体上传',NOW(3),NULL,'完成大文件上传',88,'POST','/mediaUpload/complete',NOW(3)),
|
|
('媒体上传',NOW(3),NULL,'初始化大文件上传',89,'POST','/mediaUpload/init',NOW(3)),
|
|
('菜单',NOW(3),NULL,'新增菜单',90,'POST','/menu/addBaseMenu',NOW(3)),
|
|
('菜单',NOW(3),NULL,'增加menu和角色关联关系',91,'POST','/menu/addMenuAuthority',NOW(3)),
|
|
('菜单',NOW(3),NULL,'删除菜单',92,'POST','/menu/deleteBaseMenu',NOW(3)),
|
|
('菜单',NOW(3),NULL,'根据id获取菜单',93,'POST','/menu/getBaseMenuById',NOW(3)),
|
|
('菜单',NOW(3),NULL,'获取用户动态路由',94,'POST','/menu/getBaseMenuTree',NOW(3)),
|
|
('菜单',NOW(3),NULL,'获取菜单树(必选)',95,'POST','/menu/getMenu',NOW(3)),
|
|
('菜单',NOW(3),NULL,'获取指定角色menu',96,'POST','/menu/getMenuAuthority',NOW(3)),
|
|
('菜单',NOW(3),NULL,'分页获取基础menu列表',97,'POST','/menu/getMenuList',NOW(3)),
|
|
('菜单',NOW(3),NULL,'获取菜单关联角色列表',98,'GET','/menu/getMenuRoles',NOW(3)),
|
|
('菜单',NOW(3),NULL,'全量覆盖菜单关联角色列表',99,'POST','/menu/setMenuRoles',NOW(3)),
|
|
('菜单',NOW(3),NULL,'更新菜单',100,'POST','/menu/updateBaseMenu',NOW(3)),
|
|
('支付',NOW(3),NULL,'处理支付回调',101,'POST','/payment/callback/:provider',NOW(3)),
|
|
('岗位',NOW(3),NULL,'创建岗位',102,'POST','/position/createPosition',NOW(3)),
|
|
('岗位',NOW(3),NULL,'删除岗位',103,'DELETE','/position/deletePosition',NOW(3)),
|
|
('岗位',NOW(3),NULL,'根据ID获取岗位',104,'GET','/position/findPosition',NOW(3)),
|
|
('岗位',NOW(3),NULL,'获取岗位列表',105,'POST','/position/getPositionList',NOW(3)),
|
|
('岗位',NOW(3),NULL,'获取岗位成员ID列表',106,'GET','/position/getPositionUsers',NOW(3)),
|
|
('岗位',NOW(3),NULL,'设置岗位成员(反向分配)',107,'POST','/position/setPositionUsers',NOW(3)),
|
|
('岗位',NOW(3),NULL,'更新岗位',108,'PUT','/position/updatePosition',NOW(3)),
|
|
('安全配置',NOW(3),NULL,'获取安全配置',109,'GET','/securityConfig/getSecurityConfig',NOW(3)),
|
|
('安全配置',NOW(3),NULL,'设置安全配置',110,'POST','/securityConfig/setSecurityConfig',NOW(3)),
|
|
('base',NOW(3),NULL,'Swagger 文档',111,'GET','/swagger/*any',NOW(3)),
|
|
('API Token',NOW(3),NULL,'签发API Token',112,'POST','/sysApiToken/createApiToken',NOW(3)),
|
|
('API Token',NOW(3),NULL,'作废API Token',113,'POST','/sysApiToken/deleteApiToken',NOW(3)),
|
|
('API Token',NOW(3),NULL,'获取API Token列表',114,'POST','/sysApiToken/getApiTokenList',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'新增字典',115,'POST','/sysDictionary/createSysDictionary',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'删除字典',116,'DELETE','/sysDictionary/deleteSysDictionary',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'导出字典JSON',117,'GET','/sysDictionary/exportSysDictionary',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'根据ID获取字典(建议选择)',118,'GET','/sysDictionary/findSysDictionary',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'获取字典列表',119,'GET','/sysDictionary/getSysDictionaryList',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'获取字典列表(含明细)',120,'GET','/sysDictionary/getSysDictionaryListWithDetails',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'导入字典JSON',121,'POST','/sysDictionary/importSysDictionary',NOW(3)),
|
|
('系统字典',NOW(3),NULL,'更新字典',122,'PUT','/sysDictionary/updateSysDictionary',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'新增字典内容',123,'POST','/sysDictionaryDetail/createSysDictionaryDetail',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'删除字典内容',124,'DELETE','/sysDictionaryDetail/deleteSysDictionaryDetail',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'根据ID获取字典内容',125,'GET','/sysDictionaryDetail/findSysDictionaryDetail',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'根据父级ID获取字典详情',126,'GET','/sysDictionaryDetail/getDictionaryDetailsByParent',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'获取字典详情的完整路径',127,'GET','/sysDictionaryDetail/getDictionaryPath',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'获取字典数列表',128,'GET','/sysDictionaryDetail/getDictionaryTreeList',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'根据分类获取字典数列表',129,'GET','/sysDictionaryDetail/getDictionaryTreeListByType',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'获取字典内容列表',130,'GET','/sysDictionaryDetail/getSysDictionaryDetailList',NOW(3)),
|
|
('系统字典详情',NOW(3),NULL,'更新字典内容',131,'PUT','/sysDictionaryDetail/updateSysDictionaryDetail',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'新建错误日志',132,'POST','/sysError/createSysError',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'删除错误日志',133,'DELETE','/sysError/deleteSysError',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'批量删除错误日志',134,'DELETE','/sysError/deleteSysErrorByIds',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'根据ID获取错误日志',135,'GET','/sysError/findSysError',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'获取错误日志列表',136,'GET','/sysError/getSysErrorList',NOW(3)),
|
|
('错误日志',NOW(3),NULL,'更新错误日志',137,'PUT','/sysError/updateSysError',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'新增导出模板',138,'POST','/sysExportTemplate/createSysExportTemplate',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'删除导出模板',139,'DELETE','/sysExportTemplate/deleteSysExportTemplate',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'批量删除导出模板',140,'DELETE','/sysExportTemplate/deleteSysExportTemplateByIds',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'导出Excel',141,'GET','/sysExportTemplate/exportExcel',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'按令牌导出Excel',142,'GET','/sysExportTemplate/exportExcelByToken',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'下载模板',143,'GET','/sysExportTemplate/exportTemplate',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'按令牌下载模板',144,'GET','/sysExportTemplate/exportTemplateByToken',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'根据ID获取导出模板',145,'GET','/sysExportTemplate/findSysExportTemplate',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'获取导出模板列表',146,'GET','/sysExportTemplate/getSysExportTemplateList',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'导入Excel',147,'POST','/sysExportTemplate/importExcel',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'预览SQL',148,'GET','/sysExportTemplate/previewSQL',NOW(3)),
|
|
('导出模板',NOW(3),NULL,'更新导出模板',149,'PUT','/sysExportTemplate/updateSysExportTemplate',NOW(3)),
|
|
('登录日志',NOW(3),NULL,'删除登录日志',150,'DELETE','/sysLoginLog/deleteLoginLog',NOW(3)),
|
|
('登录日志',NOW(3),NULL,'批量删除登录日志',151,'DELETE','/sysLoginLog/deleteLoginLogByIds',NOW(3)),
|
|
('登录日志',NOW(3),NULL,'根据ID获取登录日志',152,'GET','/sysLoginLog/findLoginLog',NOW(3)),
|
|
('登录日志',NOW(3),NULL,'获取登录日志列表',153,'GET','/sysLoginLog/getLoginLogList',NOW(3)),
|
|
('操作记录',NOW(3),NULL,'删除操作记录',154,'DELETE','/sysOperationRecord/deleteSysOperationRecord',NOW(3)),
|
|
('操作记录',NOW(3),NULL,'批量删除操作历史',155,'DELETE','/sysOperationRecord/deleteSysOperationRecordByIds',NOW(3)),
|
|
('操作记录',NOW(3),NULL,'根据ID获取操作记录',156,'GET','/sysOperationRecord/findSysOperationRecord',NOW(3)),
|
|
('操作记录',NOW(3),NULL,'获取操作记录列表',157,'GET','/sysOperationRecord/getSysOperationRecordList',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'新建参数',158,'POST','/sysParams/createSysParams',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'删除参数',159,'DELETE','/sysParams/deleteSysParams',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'批量删除参数',160,'DELETE','/sysParams/deleteSysParamsByIds',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'根据ID获取参数',161,'GET','/sysParams/findSysParams',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'按键获取参数',162,'GET','/sysParams/getSysParam',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'获取参数列表',163,'GET','/sysParams/getSysParamsList',NOW(3)),
|
|
('参数管理',NOW(3),NULL,'更新参数',164,'PUT','/sysParams/updateSysParams',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'删除版本',165,'DELETE','/sysVersion/deleteSysVersion',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'批量删除版本',166,'DELETE','/sysVersion/deleteSysVersionByIds',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'下载版本json',167,'GET','/sysVersion/downloadVersionJson',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'创建版本',168,'POST','/sysVersion/exportVersion',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'获取单一版本',169,'GET','/sysVersion/findSysVersion',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'获取版本列表',170,'GET','/sysVersion/getSysVersionList',NOW(3)),
|
|
('版本控制',NOW(3),NULL,'同步版本',171,'POST','/sysVersion/importVersion',NOW(3)),
|
|
('系统服务',NOW(3),NULL,'获取服务器信息',172,'POST','/system/getServerInfo',NOW(3)),
|
|
('系统服务',NOW(3),NULL,'获取配置文件内容',173,'POST','/system/getSystemConfig',NOW(3)),
|
|
('系统服务',NOW(3),NULL,'重载系统配置',174,'POST','/system/reloadSystem',NOW(3)),
|
|
('系统服务',NOW(3),NULL,'设置配置文件内容',175,'POST','/system/setSystemConfig',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'订阅定时任务失败告警(SSE)',176,'GET','/timedTask/alertStream',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'创建定时任务',177,'POST','/timedTask/createTimedTask',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'删除定时任务',178,'DELETE','/timedTask/deleteTimedTask',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'获取已注册方法列表',179,'GET','/timedTask/getRegisteredMethods',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'获取定时任务列表',180,'GET','/timedTask/getTimedTaskList',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'获取定时任务执行日志',181,'GET','/timedTask/getTimedTaskLogList',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'启用/停用定时任务',182,'POST','/timedTask/toggleTimedTask',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'手动触发定时任务',183,'POST','/timedTask/triggerTimedTask',NOW(3)),
|
|
('定时任务',NOW(3),NULL,'更新定时任务',184,'PUT','/timedTask/updateTimedTask',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'用户注册',185,'POST','/user/admin_register',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'修改密码(建议选择)',186,'POST','/user/changePassword',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'删除用户',187,'DELETE','/user/deleteUser',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'获取自身信息(必选)',188,'GET','/user/getUserInfo',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'获取用户列表',189,'POST','/user/getUserList',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'重置用户密码',190,'POST','/user/resetPassword',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'设置自身信息(必选)',191,'PUT','/user/setSelfInfo',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'用户界面配置',192,'PUT','/user/setSelfSetting',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'设置权限组',193,'POST','/user/setUserAuthorities',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'修改用户角色(必选)',194,'POST','/user/setUserAuthority',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'设置用户归属部门',195,'POST','/user/setUserDepartments',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'设置用户信息',196,'PUT','/user/setUserInfo',NOW(3)),
|
|
('系统用户',NOW(3),NULL,'设置用户岗位',197,'POST','/user/setUserPositions',NOW(3));
|
|
|
|
INSERT INTO `sys_authorities` (`authority_id`,`authority_name`,`created_at`,`data_scope`,`default_router`,`deleted_at`,`parent_id`,`updated_at`) VALUES
|
|
(888,'超级管理员',NOW(3),1,'dashboard',NULL,0,NOW(3));
|
|
|
|
INSERT INTO `sys_authority_menus` (`sys_authority_authority_id`,`sys_base_menu_id`) VALUES
|
|
(888,1),
|
|
(888,9),
|
|
(888,13),
|
|
(888,16),
|
|
(888,20),
|
|
(888,28),
|
|
(888,2),
|
|
(888,10),
|
|
(888,14),
|
|
(888,17),
|
|
(888,21),
|
|
(888,29),
|
|
(888,3),
|
|
(888,11),
|
|
(888,15),
|
|
(888,18),
|
|
(888,22),
|
|
(888,4),
|
|
(888,12),
|
|
(888,19),
|
|
(888,23),
|
|
(888,30),
|
|
(888,5),
|
|
(888,24),
|
|
(888,31),
|
|
(888,6),
|
|
(888,25),
|
|
(888,34),
|
|
(888,26),
|
|
(888,35),
|
|
(888,27),
|
|
(888,32),
|
|
(888,33),
|
|
(888,7),
|
|
(888,8);
|
|
|
|
INSERT INTO `sys_base_menus` (`active_name`,`close_tab`,`component`,`created_at`,`default_menu`,`deleted_at`,`hidden`,`icon`,`id`,`keep_alive`,`menu_level`,`name`,`parent_id`,`path`,`sort`,`title`,`transition_type`,`updated_at`) VALUES
|
|
('',0,'view/dashboard/index.vue',NOW(3),0,NULL,0,'odometer',1,0,0,'dashboard',0,'dashboard',1,'仪表盘','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'perm-kra',2,0,0,'permission',0,'permission',2,'权限管理','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'share',3,0,0,'org',0,'org',3,'组织管理','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'config-kra',4,0,0,'systemConfig',0,'systemConfig',4,'系统设置','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'monitor-kra',5,0,0,'monitor',0,'monitor',5,'运维监控','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'folder-opened',6,0,0,'media',0,'media',6,'媒体管理','',NOW(3)),
|
|
('',0,'view/routerHolder.vue',NOW(3),0,NULL,0,'cherry',7,0,0,'extensions',0,'extensions',10,'扩展功能','',NOW(3)),
|
|
('',0,'view/person/person.vue',NOW(3),0,NULL,1,'postcard',8,0,0,'person',0,'person',13,'个人信息','',NOW(3)),
|
|
('',0,'view/superAdmin/authority/authority.vue',NOW(3),0,NULL,0,'role-kra',9,0,1,'authority',2,'authority',1,'角色管理','',NOW(3)),
|
|
('',0,'view/superAdmin/menu/menu.vue',NOW(3),0,NULL,0,'tickets',10,1,1,'menu',2,'menu',2,'菜单管理','',NOW(3)),
|
|
('',0,'view/superAdmin/api/api.vue',NOW(3),0,NULL,0,'api-kra',11,1,1,'api',2,'api',3,'api管理','',NOW(3)),
|
|
('',0,'view/systemTools/apiToken/index.vue',NOW(3),0,NULL,0,'key',12,0,1,'apiToken',2,'apiToken',4,'API Token','',NOW(3)),
|
|
('',0,'view/superAdmin/user/user.vue',NOW(3),0,NULL,0,'user',13,0,1,'user',3,'user',1,'用户管理','',NOW(3)),
|
|
('',0,'view/superAdmin/department/department.vue',NOW(3),0,NULL,0,'office-building',14,0,1,'department',3,'department',2,'部门管理','',NOW(3)),
|
|
('',0,'view/superAdmin/position/position.vue',NOW(3),0,NULL,0,'postcard',15,0,1,'position',3,'position',3,'岗位管理','',NOW(3)),
|
|
('',0,'view/systemTools/system/system.vue',NOW(3),0,NULL,0,'config-file-kra',16,0,1,'system',4,'system',1,'配置文件','',NOW(3)),
|
|
('',0,'view/superAdmin/dictionary/sysDictionary.vue',NOW(3),0,NULL,0,'notebook',17,0,1,'dictionary',4,'dictionary',2,'字典管理','',NOW(3)),
|
|
('',0,'view/superAdmin/params/sysParams.vue',NOW(3),0,NULL,0,'set-up',18,0,1,'sysParams',4,'sysParams',3,'参数管理','',NOW(3)),
|
|
('',0,'view/system/security/index.vue',NOW(3),0,NULL,0,'security-kra',19,0,1,'security',4,'security',4,'安全配置','',NOW(3)),
|
|
('',0,'view/superAdmin/operation/sysOperationRecord.vue',NOW(3),0,NULL,0,'document',20,0,1,'operation',5,'operation',1,'操作历史','',NOW(3)),
|
|
('',0,'view/systemTools/loginLog/index.vue',NOW(3),0,NULL,0,'clock',21,0,1,'loginLog',5,'loginLog',2,'登录日志','',NOW(3)),
|
|
('',0,'view/systemTools/sysError/sysError.vue',NOW(3),0,NULL,0,'error-kra',22,0,1,'sysError',5,'sysError',3,'错误日志','',NOW(3)),
|
|
('',0,'view/systemTools/version/version.vue',NOW(3),0,NULL,0,'version-kra',23,0,1,'sysVersion',5,'sysVersion',4,'版本管理','',NOW(3)),
|
|
('',0,'view/system/state.vue',NOW(3),0,NULL,0,'server',24,0,1,'state',5,'state',5,'服务器状态','',NOW(3)),
|
|
('',0,'view/superAdmin/dataAccessLog/dataAccessLog.vue',NOW(3),0,NULL,0,'warning',25,0,1,'dataAccessLog',5,'dataAccessLog',6,'数据权限审计','',NOW(3)),
|
|
('',0,'view/systemTools/timedTask/index.vue',NOW(3),0,NULL,0,'timer',26,0,1,'timedTask',5,'timedTask',7,'定时任务','',NOW(3)),
|
|
('',0,'view/systemTools/logViewer/index.vue',NOW(3),0,NULL,0,'document',27,0,1,'logViewer',5,'logViewer',8,'文件日志','',NOW(3)),
|
|
('',0,'view/media/upload.vue',NOW(3),0,NULL,0,'upload',28,0,1,'upload',6,'upload',1,'媒体库(上传下载)','',NOW(3)),
|
|
('',0,'view/media/chunkUpload.vue',NOW(3),0,NULL,0,'folder-add',29,0,1,'chunkUpload',6,'chunkUpload',2,'大文件上传','',NOW(3)),
|
|
('',0,'modules/email/view/index.vue',NOW(3),0,NULL,0,'message',30,0,1,'email',7,'email',4,'邮件发送','',NOW(3)),
|
|
('',0,'modules/announcement/view/info.vue',NOW(3),0,NULL,0,'bell',31,0,1,'anInfo',7,'anInfo',5,'公告管理','',NOW(3)),
|
|
('',0,'view/systemTools/integration/config.vue',NOW(3),0,NULL,0,'connection',32,0,1,'integrationConfig',7,'integrationConfig',8,'通信集成','',NOW(3)),
|
|
('',0,'view/systemTools/sms/index.vue',NOW(3),0,NULL,0,'message',33,0,1,'sms',7,'sms',9,'短信服务','',NOW(3)),
|
|
('',0,'view/systemTools/payment/orders.vue',NOW(3),0,NULL,0,'wallet',34,0,1,'paymentOrders',7,'paymentOrders',6,'支付订单','',NOW(3)),
|
|
('',0,'view/systemTools/payment/config.vue',NOW(3),0,NULL,0,'credit-card',35,0,1,'paymentConfig',7,'paymentConfig',7,'支付配置','',NOW(3));
|
|
|
|
INSERT INTO `sys_export_templates` (`created_at`,`db_name`,`deleted_at`,`id`,`import_sql`,`limit`,`name`,`order`,`sql`,`table_name`,`template_id`,`template_info`,`updated_at`) VALUES
|
|
(NOW(3),'',NULL,1,'',NULL,'api','','','sys_apis','api','{
|
|
"path":"路径",
|
|
"method":"方法(大写)",
|
|
"description":"方法介绍",
|
|
"api_group":"方法分组"
|
|
}',NOW(3));
|
|
|
|
INSERT INTO `sys_ignore_apis` (`created_at`,`deleted_at`,`id`,`method`,`path`,`updated_at`) VALUES
|
|
(NOW(3),NULL,1,'GET','/api/freshCasbin',NOW(3)),
|
|
(NOW(3),NULL,2,'GET','/health',NOW(3)),
|
|
(NOW(3),NULL,3,'GET','/swagger/*any',NOW(3)),
|
|
(NOW(3),NULL,4,'GET','/uploads/file/*filepath',NOW(3)),
|
|
(NOW(3),NULL,5,'HEAD','/uploads/file/*filepath',NOW(3)),
|
|
(NOW(3),NULL,6,'POST','/system/reloadSystem',NOW(3)),
|
|
(NOW(3),NULL,7,'POST','/base/login',NOW(3)),
|
|
(NOW(3),NULL,8,'POST','/base/captcha',NOW(3)),
|
|
(NOW(3),NULL,9,'POST','/init/initdb',NOW(3)),
|
|
(NOW(3),NULL,10,'POST','/init/checkdb',NOW(3)),
|
|
(NOW(3),NULL,11,'GET','/info/getInfoPublic',NOW(3));
|
|
|
|
INSERT INTO `sys_integration_configs` (`config`,`created_at`,`enabled`,`id`,`kind`,`provider`,`updated_at`) VALUES
|
|
('{"broker":"tcp://127.0.0.1:1883","clean_session":true,"client_id":"kra","connect_timeout":10,"keep_alive":30,"password":"","reconnect_interval":5,"username":""}',NOW(3),0,1,'mq','emqx',NOW(3)),
|
|
('{"allow_auto_topic_creation":false,"brokers":["127.0.0.1:9092"],"client_id":"kra","connect_timeout":10,"group_id":"kra","max_bytes":10485760,"max_wait":1,"min_bytes":1,"password":"","reconnect_interval":5,"start_offset":"earliest","tls":false,"tls_skip_verify":false,"username":""}',NOW(3),0,2,'mq','kafka',NOW(3)),
|
|
('{"auto_delete":false,"connect_timeout":10,"durable":true,"exchange":"kra","exchange_type":"topic","heartbeat":10,"host":"127.0.0.1","password":"guest","port":5672,"prefetch_count":10,"queue":"kra","reconnect_interval":5,"routing_key":"#","tls":false,"username":"guest","vhost":"/"}',NOW(3),0,3,'mq','rabbitmq',NOW(3)),
|
|
('{"allow_origins":[],"concurrent_message_handling":false,"max_message_size":0,"message_buffer_size":0,"path":"/ws","ping_period":"54s","pong_wait":"60s","write_wait":"10s"}',NOW(3),0,4,'websocket','melody',NOW(3)),
|
|
('{"app_id":"","environment":"production","gateway_url":"https://openapi.alipay.com/gateway.do","method":"alipay.trade.create","notify_url":"","private_key":"","public_key":"","return_url":"","sign_type":"RSA2","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,5,'payment','alipay',NOW(3)),
|
|
('{"api_base_url":"https://openapi.alipay.com","app_cert":"","app_id":"","environment":"production","gateway_url":"https://openapi.alipay.com/gateway.do","method":"alipay.trade.create","notify_url":"","private_key":"","public_cert":"","return_url":"","root_cert":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,6,'payment','alipay-v3',NOW(3)),
|
|
('{"app_id":"","currency":"CNY","cus_id":"","environment":"production","notify_url":"","org_id":"","pay_type":"W02","private_key":"","public_key":"","query_order_type":"reqsn","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,7,'payment','allinpay',NOW(3)),
|
|
('{"bundle_id":"","environment":"production","issuer_id":"","key_id":"","notify_url":"","price_divisor":10,"private_key":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false,"test_product_id":"","test_transaction_id":""}',NOW(3),0,8,'payment','apple-iap',NOW(3)),
|
|
('{"app_id":"","app_key":"","callback_provider_trade_no_field":"","callback_status_field":"","callback_success_values":"","callback_trade_no_field":"","create_url":"","merchant_id":"","notify_url":"","protocol_version":"v1","query_amount_field":"","query_amount_scale":1,"query_currency_field":"","query_provider_trade_no_field":"","query_status_field":"","query_success_values":"","query_trade_no_field":"","query_url":"","refund_failure_values":"","refund_status_field":"","refund_success_values":"","refund_url":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,9,'payment','chinaums',NOW(3)),
|
|
('{"api_key":"","app_id":"","environment":"production","merchant_id":"","notify_url":"","platform_cert":"","platform_serial_no":"","private_key":"","return_url":"","serial_no":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false,"trade_type":"jsapi"}',NOW(3),0,10,'payment','douyin',NOW(3)),
|
|
('{"app_id":"","app_key":"","callback_provider_trade_no_field":"","callback_status_field":"","callback_success_values":"","callback_trade_no_field":"","create_url":"","merchant_id":"","notify_url":"","protocol_version":"v1","query_amount_field":"","query_amount_scale":1,"query_currency_field":"","query_provider_trade_no_field":"","query_status_field":"","query_success_values":"","query_trade_no_field":"","query_url":"","refund_failure_values":"","refund_status_field":"","refund_success_values":"","refund_url":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,11,'payment','douyin-game-pay',NOW(3)),
|
|
('{"channel":"Wechat","credential_code":"","currency":"CNY","environment":"production","method":"jsapi","notify_url":"","partner_code":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,12,'payment','lakala',NOW(3)),
|
|
('{"auto_capture":true,"cancel_url":"","client_id":"","client_secret":"","environment":"sandbox","notify_url":"","return_url":"","test_amount":1,"test_currency":"USD","test_extra":"{}","test_mode":false,"webhook_id":""}',NOW(3),0,13,'payment','paypal',NOW(3)),
|
|
('{"api_key":"","cert_file":"","environment":"production","key_file":"","mch_id":"","notify_url":"","return_url":"","sign_type":"MD5","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false,"trade_type":"NATIVE"}',NOW(3),0,14,'payment','qq',NOW(3)),
|
|
('{"access_token":"","currency":"CNY","environment":"production","inst_no":"","key":"","merchant_no":"","notify_url":"","pay_type":"010","return_url":"","terminal_id":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,15,'payment','saobei',NOW(3)),
|
|
('{"app_id":"","app_key":"","callback_provider_trade_no_field":"","callback_status_field":"","callback_success_values":"","callback_trade_no_field":"","create_url":"","merchant_id":"","notify_url":"","protocol_version":"v1","query_amount_field":"","query_amount_scale":1,"query_currency_field":"","query_provider_trade_no_field":"","query_status_field":"","query_success_values":"","query_trade_no_field":"","query_url":"","refund_failure_values":"","refund_status_field":"","refund_success_values":"","refund_url":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,16,'payment','sft',NOW(3)),
|
|
('{"app_id":"","app_key":"","callback_provider_trade_no_field":"","callback_status_field":"","callback_success_values":"","callback_trade_no_field":"","create_url":"","merchant_id":"","notify_url":"","protocol_version":"v1","query_amount_field":"","query_amount_scale":1,"query_currency_field":"","query_provider_trade_no_field":"","query_status_field":"","query_success_values":"","query_trade_no_field":"","query_url":"","refund_failure_values":"","refund_status_field":"","refund_success_values":"","refund_url":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,17,'payment','supper-pay',NOW(3)),
|
|
('{"app_id":"","app_key":"","callback_provider_trade_no_field":"","callback_status_field":"","callback_success_values":"","callback_trade_no_field":"","create_url":"","merchant_id":"","notify_url":"","protocol_version":"v1","query_amount_field":"","query_amount_scale":1,"query_currency_field":"","query_provider_trade_no_field":"","query_status_field":"","query_success_values":"","query_trade_no_field":"","query_url":"","refund_failure_values":"","refund_status_field":"","refund_success_values":"","refund_url":"","return_url":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false}',NOW(3),0,18,'payment','wechat-game-pay',NOW(3)),
|
|
('{"app_id":"","client_cert":"","client_key":"","mch_key":"","merchant_id":"","notify_url":"","return_url":"","sign_type":"MD5","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false,"trade_type":"NATIVE"}',NOW(3),0,19,'payment','wechat-v2',NOW(3)),
|
|
('{"api_v3_key":"","app_id":"","merchant_id":"","notify_url":"","platform_cert":"","platform_serial_no":"","private_key":"","return_url":"","serial_no":"","test_amount":1,"test_currency":"CNY","test_extra":"{}","test_mode":false,"trade_type":"jsapi"}',NOW(3),0,20,'payment','wechat-v3',NOW(3));
|
|
|
|
INSERT INTO `sys_schema_migrations` (`id`) VALUES
|
|
('202608200002_system_schema'),
|
|
('202608210002_communication_surface'),
|
|
('202608210003_communication_test_surface'),
|
|
('202608200001_data_infrastructure'),
|
|
('202608210001_communication_integration_defaults'),
|
|
('202608200004_payment_defaults'),
|
|
('202608290004_kafka_integration_default'),
|
|
('202608290005_communication_integration_default_upgrade'),
|
|
('202609290001_sms_admin_surface'),
|
|
('202608220001_task_schema'),
|
|
('202608200003_payment_schema'),
|
|
('202608290001_payment_event_schema'),
|
|
('202608290002_payment_admin_surface'),
|
|
('202608290003_payment_order_read_permissions');
|
|
|
|
INSERT INTO `sys_security_config` (`captcha_open`,`captcha_timeout`,`created_at`,`deleted_at`,`force_new_user_change_password`,`id`,`img_height`,`img_width`,`key_long`,`limit_count`,`limit_enable`,`limit_window`,`lock_duration`,`lock_enable`,`lock_threshold`,`pwd_expire_days`,`pwd_expire_enable`,`pwd_min_length`,`pwd_require_digit`,`pwd_require_lower`,`pwd_require_special`,`pwd_require_upper`,`updated_at`) VALUES
|
|
(0,3600,NOW(3),NULL,0,1,80,240,6,30,0,60,30,0,5,90,0,8,0,0,0,0,NOW(3));
|
|
|
|
INSERT INTO `sys_timed_tasks` (`created_at`,`deleted_at`,`description`,`enabled`,`executor_type`,`http_allow_private`,`http_body`,`http_header`,`http_method`,`http_url`,`id`,`method_name`,`name`,`params`,`spec`,`updated_at`,`with_seconds`) VALUES
|
|
(NOW(3),NULL,'定时清理数据库过期日志(操作记录/JWT黑名单/定时任务执行日志)',0,'method',0,'',NULL,'','',1,'ClearDB','ClearDB',NULL,'@daily',NOW(3),0),
|
|
(NOW(3),NULL,'定时清理过期大文件上传会话',0,'method',0,'',NULL,'','',2,'CleanStaleUploads','CleanStaleUploads',NULL,'@hourly',NOW(3),0);
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'user',CAST(`user_id` AS CHAR) FROM `sys_user` WHERE del_flag='0' ORDER BY `user_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'role',CAST(`role_id` AS CHAR) FROM `sys_role` WHERE del_flag='0' ORDER BY `role_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'dept',CAST(`dept_id` AS CHAR) FROM `sys_dept` WHERE del_flag='0' ORDER BY `dept_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'post',CAST(`post_id` AS CHAR) FROM `sys_post` WHERE del_flag='0' ORDER BY `post_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'file',CAST(`oss_id` AS CHAR) FROM `sys_oss` WHERE 1=1 ORDER BY `oss_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'menu',CAST(`menu_id` AS CHAR) FROM `sys_menu` WHERE menu_id IN ('2084194096229949441','2084194830778408961','2084202636386541569','2084224284976246785','2084224583841378306','2084449385185308674','2084453258847350785','2084458436631752706','2084466605093318657','2084475309624684546','2084478005203202049','2084480429515108353','2084480593562726401','2086033702105710593','2086034409621880833','2086621845875916801','2086623544338350082','2086643768701812738','2086643813702500354','2086643981961199618','2086644092393029633','2087069357514440706','2087385085920727041','2087385679095975937','2087385949666332673','2087386325354336258','2087444380922167298','2087447465111326721','2087831493110956033','2095702540414996481','2095702652168032258') ORDER BY `menu_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'dict',CAST(`dict_id` AS CHAR) FROM `sys_dict_type` WHERE 1=1 ORDER BY `dict_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'dict_item',CAST(`dict_code` AS CHAR) FROM `sys_dict_data` WHERE 1=1 ORDER BY `dict_code`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'notice',CAST(`notice_id` AS CHAR) FROM `sys_notice` WHERE 1=1 ORDER BY `notice_id`;
|
|
|
|
INSERT INTO sw_kra_id_map(entity,old_id) SELECT 'task',CAST(`id` AS CHAR) FROM `sj_job` WHERE deleted=0 ORDER BY `id`;
|
|
|
|
UPDATE sw_kra_id_map SET new_id=10000+id;
|
|
|
|
UPDATE sw_kra_id_map m JOIN sys_role r ON m.entity='role' AND m.old_id=CAST(r.role_id AS CHAR) SET m.new_id=888 WHERE r.role_key='superadmin';
|
|
|
|
INSERT INTO sys_authorities(authority_id,created_at,updated_at,authority_name,parent_id,data_scope,default_router) SELECT m.new_id,r.create_time,r.update_time,r.role_name,888,CASE r.data_scope WHEN '1' THEN 1 WHEN '2' THEN 5 WHEN '3' THEN 3 WHEN '4' THEN 2 WHEN '5' THEN 4 END,'dashboard' FROM sys_role r JOIN sw_kra_id_map m ON m.entity='role' AND m.old_id=CAST(r.role_id AS CHAR) WHERE r.del_flag='0' AND r.role_key<>'superadmin';
|
|
|
|
INSERT INTO sys_departments(id,created_at,updated_at,name,parent_id,ancestors,sort,leader_id,status) SELECT m.new_id,d.create_time,d.update_time,d.dept_name,COALESCE(p.new_id,0),'0',d.order_num,COALESCE(u.new_id,0),d.status='0' FROM sys_dept d JOIN sw_kra_id_map m ON m.entity='dept' AND m.old_id=CAST(d.dept_id AS CHAR) LEFT JOIN sw_kra_id_map p ON p.entity='dept' AND p.old_id=CAST(d.parent_id AS CHAR) LEFT JOIN sw_kra_id_map u ON u.entity='user' AND u.old_id=CAST(d.leader AS CHAR) WHERE d.del_flag='0';
|
|
|
|
SET v_iter=0; WHILE v_iter<16 DO UPDATE sys_departments d JOIN sys_departments p ON p.id=d.parent_id SET d.ancestors=CONCAT(p.ancestors,',',p.id); SET v_iter=v_iter+1; END WHILE;
|
|
|
|
INSERT INTO sys_positions(id,created_at,updated_at,name,code,sort,status,remark,dept_id) SELECT m.new_id,p.create_time,p.update_time,p.post_name,p.post_code,p.post_sort,p.status='0',p.remark,d.new_id FROM sys_post p JOIN sw_kra_id_map m ON m.entity='post' AND m.old_id=CAST(p.post_id AS CHAR) LEFT JOIN sw_kra_id_map d ON d.entity='dept' AND d.old_id=CAST(p.dept_id AS CHAR) WHERE p.del_flag='0';
|
|
|
|
INSERT INTO sys_users(id,created_at,updated_at,uuid,username,password,nick_name,header_img,authority_id,dept_id,phone,email,enable,origin_setting,password_updated_at,must_change_password,level,parent_id,id_path,real_name,qq_number,business_status,reject_reason) SELECT m.new_id,u.create_time,u.update_time,UUID(),u.user_name,u.password,u.nick_name,COALESCE(o.url,''),rm.new_id,COALESCE(dm.new_id,0),u.phone_number,u.email,u.status='0','{}',COALESCE(u.update_time,u.create_time,NOW(3)),0,u.level,COALESCE(pm.new_id,0),'0',COALESCE(u.real_name,''),COALESCE(u.qq_number,''),CAST(u.status AS UNSIGNED),COALESCE(u.reject_reason,'') FROM sys_user u JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(u.user_id AS CHAR) JOIN sys_user_role ur ON ur.user_id=u.user_id JOIN sw_kra_id_map rm ON rm.entity='role' AND rm.old_id=CAST(ur.role_id AS CHAR) LEFT JOIN sw_kra_id_map dm ON dm.entity='dept' AND dm.old_id=CAST(u.dept_id AS CHAR) LEFT JOIN sw_kra_id_map pm ON pm.entity='user' AND pm.old_id=CAST(u.parent_id AS CHAR) LEFT JOIN sys_oss o ON o.oss_id=u.avatar WHERE u.del_flag='0';
|
|
|
|
SET v_iter=0; WHILE v_iter<4 DO UPDATE sys_users u JOIN sys_users p ON p.id=u.parent_id SET u.id_path=CONCAT(p.id_path,',',p.id); SET v_iter=v_iter+1; END WHILE;
|
|
|
|
INSERT INTO sys_user_authority(sys_user_id,sys_authority_authority_id) SELECT um.new_id,rm.new_id FROM sys_user_role x JOIN sw_kra_id_map um ON um.entity='user' AND um.old_id=CAST(x.user_id AS CHAR) JOIN sw_kra_id_map rm ON rm.entity='role' AND rm.old_id=CAST(x.role_id AS CHAR);
|
|
|
|
INSERT INTO sys_user_departments(sys_user_id,sys_department_id) SELECT id,dept_id FROM sys_users WHERE dept_id<>0;
|
|
|
|
INSERT INTO sys_user_positions(sys_user_id,sys_position_id) SELECT um.new_id,pm.new_id FROM sys_user_post x JOIN sw_kra_id_map um ON um.entity='user' AND um.old_id=CAST(x.user_id AS CHAR) JOIN sw_kra_id_map pm ON pm.entity='post' AND pm.old_id=CAST(x.post_id AS CHAR);
|
|
|
|
INSERT INTO media_file_upload_and_downloads(id,created_at,updated_at,name,class_id,url,tag,`key`,size,mime,md5,user_id) SELECT m.new_id,o.create_time,o.update_time,o.original_name,0,o.url,o.file_suffix,o.file_name,COALESCE(CAST(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.fileSize')) AS UNSIGNED),0),COALESCE(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.contentType')),'null'),''),COALESCE(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.md5')),'null'),''),COALESCE(um.new_id,0) FROM sys_oss o JOIN sw_kra_id_map m ON m.entity='file' AND m.old_id=CAST(o.oss_id AS CHAR) LEFT JOIN sw_kra_id_map um ON um.entity='user' AND um.old_id=CAST(o.create_by AS CHAR);
|
|
|
|
INSERT INTO sys_dictionaries(id,created_at,updated_at,name,type,status,`desc`,parent_id) SELECT m.new_id,d.create_time,d.update_time,d.dict_name,d.dict_type,1,d.remark,0 FROM sys_dict_type d JOIN sw_kra_id_map m ON m.entity='dict' AND m.old_id=CAST(d.dict_id AS CHAR);
|
|
|
|
INSERT INTO sys_dictionary_details(id,created_at,updated_at,label,value,extend,status,sort,sys_dictionary_id,parent_id,level,path) SELECT m.new_id,d.create_time,d.update_time,d.dict_label,d.dict_value,JSON_OBJECT('cssClass',d.css_class,'listClass',d.list_class,'isDefault',d.is_default),1,d.dict_sort,tm.new_id,0,0,'0' FROM sys_dict_data d JOIN sw_kra_id_map m ON m.entity='dict_item' AND m.old_id=CAST(d.dict_code AS CHAR) JOIN sys_dict_type t ON t.dict_type=d.dict_type JOIN sw_kra_id_map tm ON tm.entity='dict' AND tm.old_id=CAST(t.dict_id AS CHAR);
|
|
|
|
INSERT INTO sys_announcements(id,created_at,updated_at,title,content,user_id,attachments) SELECT m.new_id,n.create_time,n.update_time,n.notice_title,CONVERT(n.notice_content USING utf8mb4),um.new_id,JSON_ARRAY() FROM sys_notice n JOIN sw_kra_id_map m ON m.entity='notice' AND m.old_id=CAST(n.notice_id AS CHAR) LEFT JOIN sw_kra_id_map um ON um.entity='user' AND um.old_id=CAST(n.create_by AS CHAR) WHERE n.status='0';
|
|
|
|
INSERT INTO sys_params(created_at,updated_at,name,`key`,value,`desc`) SELECT NOW(3),NOW(3),config_name,CONCAT('sw.legacy.',config_key),config_value,'Legacy non-secret setting; application adapter must consume it explicitly' FROM sys_config WHERE config_key IN('sys.account.registerUser','sys.oss.previewListResource');
|
|
|
|
-- 六、导入新增业务菜单及授权;原工作台页面和查询按钮不再导入。
|
|
|
|
INSERT INTO sw_kra_menu_permissions(source_menu_id,source_permission,button_key) VALUES
|
|
('2084194096229949441','',''),
|
|
('2084194830778408961','system:user:list','sw:business:list'),
|
|
('2084202636386541569','system:promote:list','sw:promote:list'),
|
|
('2084224284976246785','',''),
|
|
('2084224583841378306','system:channelData:list','sw:channelData:list'),
|
|
('2084449385185308674','system:spend:list','sw:spend:list'),
|
|
('2084453258847350785','system:register:list','sw:register:list'),
|
|
('2084458436631752706','system:gameData:list','sw:gameData:list'),
|
|
('2084466605093318657','system:serverAnalysis:list','sw:serverAnalysis:list'),
|
|
('2084475309624684546','system:rank:channel','sw:rank:channel'),
|
|
('2084478005203202049','',''),
|
|
('2084480429515108353','system:alertRecord:list','sw:alertRecord:list'),
|
|
('2084480593562726401','system:alertRule:list','sw:alertRule:list'),
|
|
('2086033702105710593','system:alertRecord:audit','sw:alertRecord:audit'),
|
|
('2086034409621880833','system:alertRecord:query','sw:alertRecord:query'),
|
|
('2086621845875916801','system:alertRecord:process','sw:alertRecord:process'),
|
|
('2086623544338350082','system:oss:upload','sw:oss:upload'),
|
|
('2086643768701812738','system:alertRule:query','sw:alertRule:query'),
|
|
('2086643813702500354','system:alertRule:add','sw:alertRule:add'),
|
|
('2086643981961199618','system:alertRule:edit','sw:alertRule:edit'),
|
|
('2086644092393029633','system:alertRule:remove','sw:alertRule:remove'),
|
|
('2087069357514440706','system:promote:add','sw:promote:add'),
|
|
('2087385085920727041','system:user:add','sw:business:add'),
|
|
('2087385679095975937','system:user:query','sw:business:query'),
|
|
('2087385949666332673','system:user:edit','sw:business:edit'),
|
|
('2087386325354336258','system:user:export','sw:business:export'),
|
|
('2087444380922167298','system:user:bind','sw:business:bind'),
|
|
('2087447465111326721','system:promote:list','sw:promote:list'),
|
|
('2087831493110956033','system:register:export','sw:register:export'),
|
|
('2095702540414996481','',''),
|
|
('2095702652168032258','system:promoteActivePool:list','sw:promoteActivePool:list'),
|
|
('2087072517465325569','system:workbench:query','sw:workbench:query'),
|
|
('2087365025688768514','system:workbench:query','sw:workbench:query');
|
|
|
|
INSERT INTO sys_base_menus(id,created_at,updated_at,menu_level,parent_id,path,name,hidden,component,sort,active_name,keep_alive,default_menu,title,icon,close_tab,transition_type) SELECT m.new_id,n.create_time,n.update_time,IF(n.parent_id=0,0,1),COALESCE(pm.new_id,0),IF(n.parent_id=0,CONCAT('sw-',n.path),n.path),CONCAT('sw_',n.path),n.visible='1',IF(n.menu_type='M','view/routerHolder.vue',CONCAT('view/sw/',n.path,'.vue')),n.order_num,'',n.is_cache='Y',0,n.menu_name,CASE n.path
|
|
WHEN 'BusMgmt' THEN 'Briefcase'
|
|
WHEN 'BusinessList' THEN 'UserFilled'
|
|
WHEN 'ChannelList' THEN 'Connection'
|
|
WHEN 'ChannelActivationList' THEN 'CircleCheck'
|
|
WHEN 'DataAnalysis' THEN 'DataAnalysis'
|
|
WHEN 'ChannelDataStatistics' THEN 'Histogram'
|
|
WHEN 'RechargeDetails' THEN 'Money'
|
|
WHEN 'RegistrationDetails' THEN 'User'
|
|
WHEN 'GameAnalytics' THEN 'TrendCharts'
|
|
WHEN 'ServerAnalysis' THEN 'Monitor'
|
|
WHEN 'RankingAnalysis' THEN 'Star'
|
|
WHEN 'AlertCenter' THEN 'Bell'
|
|
WHEN 'AlertList' THEN 'Warning'
|
|
WHEN 'AlertRules' THEN 'Setting'
|
|
ELSE 'Menu' END,0,'' FROM sys_menu n JOIN sw_kra_id_map m ON m.entity='menu' AND m.old_id=CAST(n.menu_id AS CHAR) LEFT JOIN sw_kra_id_map pm ON pm.entity='menu' AND pm.old_id=CAST(n.parent_id AS CHAR) WHERE n.menu_type IN('M','C');
|
|
|
|
UPDATE sys_base_menus SET sort=CASE name WHEN 'dashboard' THEN 1 WHEN 'sw_BusMgmt' THEN 2 WHEN 'sw_DataAnalysis' THEN 3 WHEN 'sw_AlertCenter' THEN 4 WHEN 'permission' THEN 5 WHEN 'org' THEN 6 WHEN 'systemConfig' THEN 7 WHEN 'monitor' THEN 8 WHEN 'media' THEN 9 WHEN 'extensions' THEN 13 WHEN 'person' THEN 16 ELSE sort END WHERE parent_id=0;
|
|
|
|
INSERT INTO sys_base_menu_btns(id,created_at,updated_at,name,`desc`,sys_base_menu_id) SELECT m.new_id,n.create_time,n.update_time,p.button_key,n.menu_name,pm.new_id FROM sys_menu n JOIN sw_kra_id_map m ON m.entity='menu' AND m.old_id=CAST(n.menu_id AS CHAR) JOIN sw_kra_id_map pm ON pm.entity='menu' AND pm.old_id=CAST(n.parent_id AS CHAR) JOIN sw_kra_menu_permissions p ON p.source_menu_id=n.menu_id WHERE n.menu_type='F';
|
|
|
|
INSERT INTO sys_authority_menus(sys_authority_authority_id,sys_base_menu_id) SELECT rm.new_id,mm.new_id FROM sys_role_menu x JOIN sw_kra_id_map rm ON rm.entity='role' AND rm.old_id=CAST(x.role_id AS CHAR) JOIN sw_kra_id_map mm ON mm.entity='menu' AND mm.old_id=CAST(x.menu_id AS CHAR) JOIN sys_menu m ON m.menu_id=x.menu_id WHERE m.menu_type IN('M','C');
|
|
|
|
INSERT INTO sys_authority_btns(authority_id,sys_menu_id,sys_base_menu_btn_id) SELECT rm.new_id,pm.new_id,mm.new_id FROM sys_role_menu x JOIN sw_kra_id_map rm ON rm.entity='role' AND rm.old_id=CAST(x.role_id AS CHAR) JOIN sw_kra_id_map mm ON mm.entity='menu' AND mm.old_id=CAST(x.menu_id AS CHAR) JOIN sys_menu m ON m.menu_id=x.menu_id JOIN sw_kra_id_map pm ON pm.entity='menu' AND pm.old_id=CAST(m.parent_id AS CHAR) WHERE m.menu_type='F';
|
|
|
|
INSERT INTO sys_authority_menus(sys_authority_authority_id,sys_base_menu_id) SELECT 888,m.new_id FROM sw_kra_id_map m JOIN sys_menu n ON m.entity='menu' AND m.old_id=CAST(n.menu_id AS CHAR) WHERE n.menu_type IN('M','C');
|
|
|
|
INSERT INTO sys_authority_btns(authority_id,sys_menu_id,sys_base_menu_btn_id) SELECT 888,sys_base_menu_id,id FROM sys_base_menu_btns;
|
|
|
|
INSERT INTO sys_authority_menus(sys_authority_authority_id,sys_base_menu_id) SELECT a.authority_id,m.id FROM sys_authorities a JOIN sys_base_menus m ON m.name='dashboard' WHERE a.authority_id<>888 AND a.default_router='dashboard';
|
|
|
|
INSERT INTO sw_kra_api_contract(method,source_path,target_path,source_permission,controller) VALUES
|
|
('GET','/system/user/preference','/sw/user/preference','__authenticated__','UserPreference'),
|
|
('PUT','/system/user/preference','/sw/user/preference','__authenticated__','UserPreference'),
|
|
('GET','/system/promote/list','/sw/promote/list','system:promote:list','Promote'),
|
|
('GET','/system/promote/portrait','/sw/promote/portrait','system:promote:list','Promote'),
|
|
('GET','/system/promote/game-distribution','/sw/promote/game-distribution','system:promote:list','Promote'),
|
|
('GET','/system/promote/bindOptions','/sw/promote/bindOptions','system:promote:add','Promote'),
|
|
('POST','/system/promote','/sw/promote','system:promote:add','Promote'),
|
|
('GET','/system/promoteActivePool/bindList','/sw/promoteActivePool/bindList','system:promoteActivePool:list','PromoteActivePool'),
|
|
('GET','/system/promoteActivePool/bindSpendDetail','/sw/promoteActivePool/bindSpendDetail','system:promoteActivePool:list','PromoteActivePool'),
|
|
('GET','/system/workbench/summary','/sw/workbench/summary','system:workbench:query','Workbench'),
|
|
('GET','/system/workbench/registerTop','/sw/workbench/registerTop','system:workbench:query','Workbench'),
|
|
('GET','/system/workbench/payRank','/sw/workbench/payRank','system:workbench:query','Workbench'),
|
|
('GET','/system/workbench/unloginTop','/sw/workbench/unloginTop','system:workbench:query','Workbench'),
|
|
('GET','/system/rank/channel','/sw/rank/channel','system:rank:channel','Rank'),
|
|
('GET','/system/rank/business','/sw/rank/business','system:rank:channel','Rank'),
|
|
('GET','/system/rank/game','/sw/rank/game','system:rank:channel','Rank'),
|
|
('GET','/system/gameData/list','/sw/gameData/list','system:gameData:list','GameData'),
|
|
('GET','/system/channelData/list','/sw/channelData/list','system:channelData:list','ChannelData'),
|
|
('GET','/system/register/list','/sw/register/list','system:register:list','Register'),
|
|
('POST','/system/register/export','/sw/register/export','system:register:export','Register'),
|
|
('GET','/system/spend/list','/sw/spend/list','system:spend:list','Spend'),
|
|
('POST','/system/spend/export','/sw/spend/export','system:spend:export','Spend'),
|
|
('GET','/system/serverAnalysis/games','/sw/serverAnalysis/games','system:serverAnalysis:list','ServerAnalysis'),
|
|
('GET','/system/serverAnalysis/servers','/sw/serverAnalysis/servers','system:serverAnalysis:list','ServerAnalysis'),
|
|
('GET','/system/serverAnalysis/list','/sw/serverAnalysis/list','system:serverAnalysis:list','ServerAnalysis'),
|
|
('GET','/system/alertRule/list','/sw/alertRule/list','system:alertRule:list','SysAlertRule'),
|
|
('GET','/system/alertRule/ruleTypes','/sw/alertRule/ruleTypes','system:alertRule:list','SysAlertRule'),
|
|
('GET','/system/alertRule/{id}','/sw/alertRule/:id','system:alertRule:query','SysAlertRule'),
|
|
('POST','/system/alertRule/add','/sw/alertRule/add','system:alertRule:add','SysAlertRule'),
|
|
('PUT','/system/alertRule/edit','/sw/alertRule/edit','system:alertRule:edit','SysAlertRule'),
|
|
('DELETE','/system/alertRule/{id}','/sw/alertRule/:id','system:alertRule:remove','SysAlertRule'),
|
|
('PUT','/system/alertRule/toggle/{id}','/sw/alertRule/toggle/:id','system:alertRule:edit','SysAlertRule'),
|
|
('GET','/system/alertRecord/list','/sw/alertRecord/list','system:alertRecord:list','SysAlertRecord'),
|
|
('GET','/system/alertRecord/detail/{id}','/sw/alertRecord/detail/:id','system:alertRecord:query','SysAlertRecord'),
|
|
('POST','/system/alertRecord/startProcess','/sw/alertRecord/startProcess','system:alertRecord:process','SysAlertRecord'),
|
|
('POST','/system/alertRecord/submitAudit','/sw/alertRecord/submitAudit','system:alertRecord:process','SysAlertRecord'),
|
|
('POST','/system/alertRecord/approve','/sw/alertRecord/approve','system:alertRecord:audit','SysAlertRecord'),
|
|
('POST','/system/alertRecord/reject','/sw/alertRecord/reject','system:alertRecord:audit','SysAlertRecord'),
|
|
('POST','/system/alertRecord/reProcess','/sw/alertRecord/reProcess','system:alertRecord:process','SysAlertRecord'),
|
|
('POST','/system/alertRecord/addNote','/sw/alertRecord/addNote','system:alertRecord:process','SysAlertRecord'),
|
|
('GET','/system/user/list','/sw/business/list','system:user:list','SysUser'),
|
|
('GET','/system/user/{userId}/promotes','/sw/business/:userId/promotes','system:user:query','SysUser'),
|
|
('GET','/system/user/{userId}/portrait','/sw/business/:userId/portrait','system:user:query','SysUser'),
|
|
('GET','/system/user/{userId}/bindPlatform','/sw/business/:userId/bindPlatform','system:user:query','SysUser'),
|
|
('POST','/system/user/bindPlatform','/sw/business/bindPlatform','system:user:bind','SysUser'),
|
|
('GET','/system/user/bindPlatform','/sw/business/bindPlatform','system:user:query','SysUser'),
|
|
('GET','/system/user/bindPlatform/portrait','/sw/business/bindPlatform/portrait','system:user:query','SysUser'),
|
|
('DELETE','/system/user/bindPlatform','/sw/business/bindPlatform','system:user:bind','SysUser'),
|
|
('POST','/system/user/export','/sw/business/export','system:user:export','SysUser'),
|
|
('POST','/system/user/importData','/sw/business/importData','system:user:import','SysUser'),
|
|
('GET','/system/user/','/sw/business','system:user:query','SysUser'),
|
|
('GET','/system/user/{userId}','/sw/business/:userId','system:user:query','SysUser'),
|
|
('POST','/system/user','/sw/business','system:user:add','SysUser'),
|
|
('PUT','/system/user','/sw/business','system:user:edit','SysUser'),
|
|
('DELETE','/system/user/{userIds}','/sw/business/:userIds','system:user:remove','SysUser'),
|
|
('GET','/system/user/optionselect','/sw/business/optionselect','system:user:query','SysUser'),
|
|
('PUT','/system/user/resetPwd','/sw/business/resetPwd','system:user:resetPwd','SysUser'),
|
|
('PUT','/system/user/changeStatus','/sw/business/changeStatus','system:user:edit','SysUser'),
|
|
('GET','/system/user/unlock/{userId}','/sw/business/unlock/:userId','system:user:edit','SysUser'),
|
|
('GET','/system/user/authRole/{userId}','/sw/business/authRole/:userId','system:user:query','SysUser'),
|
|
('PUT','/system/user/authRole','/sw/business/authRole','system:user:edit','SysUser'),
|
|
('GET','/system/user/deptTree','/sw/business/deptTree','system:user:list','SysUser'),
|
|
('GET','/system/user/list/dept/{deptId}','/sw/business/list/dept/:deptId','system:user:list','SysUser');
|
|
|
|
INSERT INTO sys_apis(created_at,updated_at,path,description,api_group,method) SELECT NOW(3),NOW(3),target_path,CONCAT('SW ',controller,' - Go handler pending'),'SW business',method FROM sw_kra_api_contract;
|
|
|
|
INSERT INTO casbin_rule(ptype,v0,v1,v2,v3,v4,v5) SELECT DISTINCT 'p',CAST(rm.new_id AS CHAR),c.target_path,c.method,'','','' FROM sw_kra_api_contract c JOIN sw_kra_menu_permissions p ON p.source_permission=c.source_permission JOIN sys_role_menu x ON x.menu_id=p.source_menu_id JOIN sw_kra_id_map rm ON rm.entity='role' AND rm.old_id=CAST(x.role_id AS CHAR);
|
|
|
|
INSERT INTO casbin_rule(ptype,v0,v1,v2,v3,v4,v5) SELECT 'p','888',target_path,method,'','','' FROM sw_kra_api_contract;
|
|
|
|
INSERT INTO casbin_rule(ptype,v0,v1,v2,v3,v4,v5) SELECT 'p',CAST(a.authority_id AS CHAR),p.path,p.method,'','','' FROM sys_authorities a JOIN sys_apis p ON p.path IN('/menu/getMenu','/user/getUserInfo','/user/setSelfInfo','/user/setSelfSetting','/user/setUserAuthority','/user/changePassword') WHERE a.authority_id<>888;
|
|
|
|
INSERT INTO casbin_rule(ptype,v0,v1,v2,v3,v4,v5) SELECT 'p',CAST(a.authority_id AS CHAR),c.target_path,c.method,'','','' FROM sys_authorities a JOIN sw_kra_api_contract c ON c.source_permission='__authenticated__' WHERE a.authority_id<>888;
|
|
|
|
-- 七、转换旧任务定义,保留超时和重试参数;当前 Go 执行器读取 _execution,任务仍保持停用。
|
|
|
|
INSERT INTO sys_timed_tasks(id,created_at,updated_at,name,description,spec,with_seconds,executor_type,method_name,params,http_allow_private,enabled) SELECT m.new_id,j.create_dt,j.update_dt,CONCAT('SW/',j.job_name),j.description,CASE j.trigger_type WHEN 3 THEN CONCAT('CRON_TZ=Asia/Shanghai ',TRIM(j.trigger_interval)) WHEN 2 THEN CONCAT('@every ',TRIM(j.trigger_interval),'s') END,j.trigger_type=3,'method',j.executor_info,JSON_SET(IF(j.args_str IS NULL OR j.args_str='',JSON_OBJECT(),CAST(j.args_str AS JSON)),'$._execution',JSON_OBJECT('timeoutSeconds',j.executor_timeout,'maxRetryTimes',j.max_retry_times,'retryIntervalSeconds',j.retry_interval)),0,0 FROM sj_job j JOIN sw_kra_id_map m ON m.entity='task' AND m.old_id=CAST(j.id AS CHAR) WHERE j.deleted=0;
|
|
|
|
-- 八、回填业务表中的用户及部门引用,保留业务主键和平台实体 ID。
|
|
|
|
UPDATE `sys_user_bind_platform` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`user_id` AS CHAR) SET x.`user_id`=m.new_id;
|
|
|
|
UPDATE `sys_user_preference` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`user_id` AS CHAR) SET x.`user_id`=m.new_id;
|
|
|
|
-- 显式保留更新时间,防止旧表 ON UPDATE CURRENT_TIMESTAMP 把 ID 转换当作业务编辑。
|
|
UPDATE `sys_alert_rule` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`creator_id` AS CHAR) SET x.`creator_id`=m.new_id,x.`updated_at`=x.`updated_at`;
|
|
|
|
UPDATE `sys_alert_record` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`business_id` AS CHAR) SET x.`business_id`=m.new_id,x.`updated_at`=x.`updated_at`;
|
|
|
|
UPDATE `sys_alert_operation_log` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`operator_id` AS CHAR) SET x.`operator_id`=m.new_id;
|
|
|
|
UPDATE `sys_message` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`create_by` AS CHAR) SET x.`create_by`=m.new_id;
|
|
|
|
UPDATE `sys_message` x JOIN sw_kra_id_map m ON m.entity='user' AND m.old_id=CAST(x.`update_by` AS CHAR) SET x.`update_by`=m.new_id;
|
|
|
|
UPDATE sys_message x JOIN sw_kra_id_map m ON m.entity='dept' AND m.old_id=CAST(x.create_dept AS CHAR) SET x.create_dept=m.new_id;
|
|
|
|
BEGIN DECLARE done INT DEFAULT 0; DECLARE old_user VARCHAR(64); DECLARE new_user BIGINT UNSIGNED; DECLARE users_cursor CURSOR FOR SELECT old_id,new_id FROM sw_kra_id_map WHERE entity='user' ORDER BY id; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; OPEN users_cursor; user_loop: LOOP FETCH users_cursor INTO old_user,new_user; IF done=1 THEN LEAVE user_loop; END IF; UPDATE sys_message SET send_user_ids=TRIM(BOTH ',' FROM REPLACE(CONCAT(',',BINARY send_user_ids,','),CONCAT(',',BINARY old_user,','),CONCAT(',',BINARY new_user,','))) WHERE FIND_IN_SET(BINARY old_user,BINARY send_user_ids)>0; END LOOP; CLOSE users_cursor; END;
|
|
|
|
-- 九、核验账号密码、关联、业务引用、菜单和任务;不通过则回滚当前数据事务。
|
|
|
|
SELECT COUNT(*) INTO v_actual FROM sys_alert_rule n JOIN bak_sw2kra_20261103_sys_alert_rule o ON o.id=n.id WHERE NOT(n.created_at <=> o.created_at) OR NOT(n.updated_at <=> o.updated_at);
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','alert rule timestamps unchanged',0,v_actual,v_actual=0);
|
|
IF v_actual<>0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='alert rule timestamps changed'; END IF;
|
|
|
|
SELECT COUNT(*) INTO v_actual FROM sys_alert_record n JOIN bak_sw2kra_20261103_sys_alert_record o ON o.id=n.id WHERE NOT(n.created_at <=> o.created_at) OR NOT(n.updated_at <=> o.updated_at);
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','alert record timestamps unchanged',0,v_actual,v_actual=0);
|
|
IF v_actual<>0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='alert record timestamps changed'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_users) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user WHERE del_flag='0') INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','user count',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='user count'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_users n JOIN sw_kra_id_map m ON m.entity='user' AND m.new_id=n.id JOIN sys_user o ON CAST(o.user_id AS CHAR)=m.old_id WHERE BINARY n.password=BINARY o.password) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user WHERE del_flag='0') INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','password bytes unchanged',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='password bytes unchanged'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_users n LEFT JOIN sys_authorities a ON a.authority_id=n.authority_id WHERE a.authority_id IS NULL) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','current role references',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='current role references'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_authority) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_role) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','user role links',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='user role links'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_users n JOIN sw_kra_id_map m ON m.entity='user' AND m.new_id=n.id JOIN sys_user o ON CAST(o.user_id AS CHAR)=m.old_id LEFT JOIN sw_kra_id_map p ON p.entity='user' AND p.old_id=CAST(o.parent_id AS CHAR) WHERE n.parent_id<>COALESCE(p.new_id,0) OR n.level<>o.level) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','business parent and level',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='business parent and level'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_users u JOIN sys_users p ON p.id=u.parent_id WHERE u.id_path<>CONCAT(p.id_path,',',p.id)) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','business ancestor paths',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='business ancestor paths'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_bind_platform b LEFT JOIN sys_users u ON u.id=b.user_id WHERE u.id IS NULL) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','platform binding users',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='platform binding users'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_bind_platform) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_bind_platform`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','platform binding rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='platform binding rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_preference p LEFT JOIN sys_users u ON u.id=p.user_id WHERE u.id IS NULL) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','preference users',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='preference users'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_user_preference) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_user_preference`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','preference rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='preference rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM media_file_upload_and_downloads) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_oss) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','file rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='file rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM media_file_upload_and_downloads n JOIN sw_kra_id_map m ON m.entity='file' AND m.new_id=n.id JOIN sys_oss o ON CAST(o.oss_id AS CHAR)=m.old_id WHERE n.size<>COALESCE(CAST(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.fileSize')) AS UNSIGNED),0) OR BINARY n.mime<>BINARY COALESCE(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.contentType')),'null'),'') OR BINARY n.md5<>BINARY COALESCE(NULLIF(JSON_UNQUOTE(JSON_EXTRACT(IF(JSON_VALID(o.ext1),o.ext1,JSON_OBJECT()),'$.md5')),'null'),'')) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','file size MIME and MD5',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='file size MIME and MD5'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sw_kra_id_map WHERE entity='menu') INTO v_actual;
|
|
|
|
SELECT (31) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','business source menu nodes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='business source menu nodes'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_base_menus n JOIN sw_kra_id_map m ON m.entity='menu' AND m.new_id=n.id) INTO v_actual;
|
|
|
|
SELECT (14) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','business navigation nodes',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='business navigation nodes'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_base_menu_btns) INTO v_actual;
|
|
|
|
SELECT (17) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','business buttons',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='business buttons'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_base_menus WHERE name='sw_workbench' OR path='sw-index') INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','workbench reuses dashboard',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='workbench reuses dashboard'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_authorities a WHERE NOT EXISTS(SELECT 1 FROM sys_base_menus m JOIN sys_authority_menus x ON x.sys_base_menu_id=m.id WHERE x.sys_authority_authority_id=a.authority_id AND m.name=a.default_router)) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','default routers accessible',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='default routers accessible'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_base_menus n LEFT JOIN sys_base_menus p ON p.id=n.parent_id WHERE n.parent_id<>0 AND p.id IS NULL) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','menu parent references',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='menu parent references'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_timed_tasks t JOIN sw_kra_id_map m ON m.entity='task' AND m.new_id=t.id) INTO v_actual;
|
|
|
|
SELECT (7) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','SW task definitions',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='SW task definitions'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_timed_tasks WHERE enabled=1) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','all tasks disabled for rehearsal',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='all tasks disabled for rehearsal'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM sys_message) INTO v_actual;
|
|
|
|
SELECT (SELECT COUNT(*) FROM `bak_sw2kra_20261103_sys_message`) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','message rows',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='message rows'; END IF;
|
|
|
|
SELECT (SELECT COUNT(*) FROM (SELECT code FROM sys_positions GROUP BY code HAVING COUNT(*)>1) duplicate_codes) INTO v_actual;
|
|
|
|
SELECT (0) INTO v_expected;
|
|
|
|
INSERT INTO sw_kra_checks(stage,check_name,expected_value,actual_value,passed) VALUES ('migration','position codes unique',v_expected,v_actual,v_expected=v_actual);
|
|
|
|
IF v_expected <> v_actual THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='position codes unique'; END IF;
|
|
|
|
UPDATE sw_kra_state SET phase='data_validated' WHERE id=1;
|
|
|
|
COMMIT;
|
|
SELECT '框架数据已验证' AS result;
|
|
|
|
-- 十、数据核验通过后归档旧框架表,登记完成状态并释放迁移锁。
|
|
|
|
RENAME TABLE
|
|
`sys_social` TO `legacy_sw_20261103_sys_social`,
|
|
`sys_dept` TO `legacy_sw_20261103_sys_dept`,
|
|
`sys_user` TO `legacy_sw_20261103_sys_user`,
|
|
`sys_post` TO `legacy_sw_20261103_sys_post`,
|
|
`sys_role` TO `legacy_sw_20261103_sys_role`,
|
|
`sys_menu` TO `legacy_sw_20261103_sys_menu`,
|
|
`sys_user_role` TO `legacy_sw_20261103_sys_user_role`,
|
|
`sys_role_menu` TO `legacy_sw_20261103_sys_role_menu`,
|
|
`sys_role_dept` TO `legacy_sw_20261103_sys_role_dept`,
|
|
`sys_user_post` TO `legacy_sw_20261103_sys_user_post`,
|
|
`sys_oper_log` TO `legacy_sw_20261103_sys_oper_log`,
|
|
`sys_dict_type` TO `legacy_sw_20261103_sys_dict_type`,
|
|
`sys_dict_data` TO `legacy_sw_20261103_sys_dict_data`,
|
|
`sys_config` TO `legacy_sw_20261103_sys_config`,
|
|
`sys_login_info` TO `legacy_sw_20261103_sys_login_info`,
|
|
`sys_notice` TO `legacy_sw_20261103_sys_notice`,
|
|
`sys_oss` TO `legacy_sw_20261103_sys_oss`,
|
|
`sys_oss_config` TO `legacy_sw_20261103_sys_oss_config`,
|
|
`sys_client` TO `legacy_sw_20261103_sys_client`;
|
|
|
|
UPDATE sw_kra_state SET phase='completed',completed_at=NOW(3) WHERE id=1;
|
|
|
|
DO RELEASE_LOCK(v_lock_name); SET v_lock=0;
|
|
SELECT '完整框架迁移完成' AS result;
|
|
SELECT stage,COUNT(*) AS checks,SUM(passed) AS passed FROM sw_kra_checks GROUP BY stage;
|
|
END migration_run$$
|
|
-- 只调用这一个入口,由库的实际状态决定执行完整迁移还是菜单调整。
|
|
CALL sw_kra_migrate_20261103()$$
|
|
DROP PROCEDURE sw_kra_migrate_20261103$$
|
|
DELIMITER ;
|
|
-- 输出最终根菜单顺序,便于核对页面效果。
|
|
SELECT id,name,title,sort FROM sys_base_menus WHERE parent_id=0 ORDER BY sort,id;
|