mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	重构数据库备份与恢复模块 (#80)
* fix: 保存 LastResult 时截断字符串过长部分,以避免数据库报错 * refactor: 新增 entity.DbTaskBase 和 persistence.dbTaskBase, 用于实现数据库备份和恢复任务处理相关部分 * fix: aeskey变更后,解密密码出现数组越界访问错误 * fix: 时间属性为零值时,保存到 mysql 数据库报错 * refactor db.infrastructure.service.scheduler * feat: 实现立即备份功能 * refactor db.infrastructure.service.db_instance * refactor: 从数据库中获取数据库备份目录、mysql文件路径等配置信息 * fix: 数据库备份和恢复问题 * fix: 修改 .gitignore 文件,忽略数据库备份目录和数据库程序目录
This commit is contained in:
		@@ -11,7 +11,6 @@ CREATE TABLE `t_db_backup` (
 | 
			
		||||
    `interval` bigint(20) DEFAULT NULL COMMENT '备份周期',
 | 
			
		||||
    `start_time` datetime DEFAULT NULL COMMENT '首次备份时间',
 | 
			
		||||
    `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
 | 
			
		||||
    `finished` tinyint(1) DEFAULT NULL COMMENT '是否完成',
 | 
			
		||||
    `last_status` tinyint(4) DEFAULT NULL COMMENT '上次备份状态',
 | 
			
		||||
    `last_result` varchar(256) DEFAULT NULL COMMENT '上次备份结果',
 | 
			
		||||
    `last_time` datetime DEFAULT NULL COMMENT '上次备份时间',
 | 
			
		||||
@@ -63,7 +62,6 @@ CREATE TABLE `t_db_restore` (
 | 
			
		||||
     `interval` bigint(20) DEFAULT NULL COMMENT '恢复周期',
 | 
			
		||||
     `start_time` datetime DEFAULT NULL COMMENT '首次恢复时间',
 | 
			
		||||
     `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
 | 
			
		||||
     `finished` tinyint(1) DEFAULT NULL COMMENT '是否完成',
 | 
			
		||||
     `last_status` tinyint(4) DEFAULT NULL COMMENT '上次恢复状态',
 | 
			
		||||
     `last_result` varchar(256) DEFAULT NULL COMMENT '上次恢复结果',
 | 
			
		||||
     `last_time` datetime DEFAULT NULL COMMENT '上次恢复时间',
 | 
			
		||||
@@ -105,9 +103,6 @@ DROP TABLE IF EXISTS `t_db_binlog`;
 | 
			
		||||
CREATE TABLE `t_db_binlog` (
 | 
			
		||||
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 | 
			
		||||
    `db_instance_id` bigint(20) unsigned NOT NULL COMMENT '数据库实例ID',
 | 
			
		||||
    `interval` bigint(20) DEFAULT NULL COMMENT '下载周期',
 | 
			
		||||
    `start_time` datetime DEFAULT NULL COMMENT '首次下载时间',
 | 
			
		||||
    `enabled` tinyint(1) DEFAULT NULL COMMENT '会否启用',
 | 
			
		||||
    `last_status` bigint(20) DEFAULT NULL COMMENT '上次下载状态',
 | 
			
		||||
    `last_result` varchar(256) DEFAULT NULL COMMENT '上次下载结果',
 | 
			
		||||
    `last_time` datetime DEFAULT NULL COMMENT '上次下载时间',
 | 
			
		||||
@@ -140,3 +135,7 @@ CREATE TABLE `t_db_binlog_history` (
 | 
			
		||||
    PRIMARY KEY (`id`),
 | 
			
		||||
    KEY `idx_db_instance_id` (`db_instance_id`) USING BTREE
 | 
			
		||||
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
INSERT INTO `t_sys_config` (`name`, `key`, `params`, `value`, `remark`, `permission`, `create_time`, `creator_id`, `creator`, `update_time`, `modifier_id`, `modifier`, `is_deleted`, `delete_time`) VALUES('Mysql可执行文件', 'MysqlBin', '[{"model":"path","name":"路径","placeholder":"可执行文件路径","required":true},{"model":"mysql","name":"mysql","placeholder":"mysql命令路径(空则为 路径/mysql)","required":false},{"model":"mysqldump","name":"mysqldump","placeholder":"mysqldump命令路径(空则为 路径/mysqldump)","required":false},{"model":"mysqlbinlog","name":"mysqlbinlog","placeholder":"mysqlbinlog命令路径(空则为 路径/mysqlbinlog)","required":false}]', '{"mysql":"","mysqldump":"","mysqlbinlog":"","path":""}', '', 'admin,', '2023-12-29 10:01:33', 1, 'admin', '2023-12-29 13:34:40', 1, 'admin', 0, NULL);
 | 
			
		||||
INSERT INTO `t_sys_config` (`name`, `key`, `params`, `value`, `remark`, `permission`, `create_time`, `creator_id`, `creator`, `update_time`, `modifier_id`, `modifier`, `is_deleted`, `delete_time`) VALUES('数据库备份恢复', 'DbBackupRestore', '[{"model":"backupPath","name":"备份路径","placeholder":"备份文件存储路径"}]', '{"backupPath":"./db/backup"}', '', 'admin,', '2023-12-29 09:55:26', 1, 'admin', '2023-12-29 15:45:24', 1, 'admin', 0, NULL);
 | 
			
		||||
		Reference in New Issue
	
	Block a user