From 6deb809f3cb367058c3e44aac475eed8c93d8348 Mon Sep 17 00:00:00 2001 From: hanxuanyu <2252193204@qq.com> Date: Thu, 28 Mar 2024 15:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=8C=85=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database_migrate/db_migrate.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/database_migrate/db_migrate.py b/database_migrate/db_migrate.py index 402acc0..7c4b577 100644 --- a/database_migrate/db_migrate.py +++ b/database_migrate/db_migrate.py @@ -24,27 +24,21 @@ def setup_logging(config_level, log_file='migration.log', file_mode='a'): numeric_level = getattr(logging, config_level.upper(), None) if not isinstance(numeric_level, int): raise ValueError(f'Invalid log level: {config_level}') - - # 创建一个日志记录器 + # 日志记录器 logger = logging.getLogger() logger.setLevel(numeric_level) - - # 创建一个控制台日志处理器并设置级别 + # 控制台日志处理器 ch = logging.StreamHandler() ch.setLevel(numeric_level) - - # 创建一个文件日志处理器并设置级别 + # 文件日志处理器 fh = logging.FileHandler(log_file, mode=file_mode) fh.setLevel(numeric_level) - - # 创建一个日志格式器 - formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') - - # 为处理器添加格式器 + # 日志格式器 + formatter = logging.Formatter('%(asctime)s [Thread ID:%(thread)d] [%(threadName)s] %(levelname)s: %(message)s') + # 添加格式器 ch.setFormatter(formatter) fh.setFormatter(formatter) - - # 为日志记录器添加处理器 + # 添加处理器 logger.addHandler(ch) logger.addHandler(fh) @@ -89,7 +83,7 @@ class DBMigrator: self.batch_size = batch_size def clear_target_database(self): - # 彻底删除目标数据库所有表 + # 删除目标数据库所有表 try: with DatabaseConnection(self.target_config) as target_db: with target_db.cursor() as cursor: @@ -114,7 +108,7 @@ class DBMigrator: source_cursor.execute(f"SHOW CREATE TABLE {table};") create_table_sql = source_cursor.fetchone()[1] - # 检查并修正BIT(1)类型字段的默认值表示 + # 检查并修正BIT(1)类型字段的默认值表示, 当前脚本为简单替换,其他方案待讨论 corrected_sql = self.correct_bit_default_value(create_table_sql) target_cursor.execute(corrected_sql) @@ -204,7 +198,7 @@ def main(): args = parse_args() config = load_config(args.config) setup_logging(config["logging"]["level"], log_file='migration.log', file_mode='a') - # 更新数据库配置,如果通过命令行提供了具体信息 + # 更新数据库配置,如果参数传入,则使用参数中的配置 if args.source_host and args.target_host: source_config = { "host": args.source_host,