增加打包脚本

This commit is contained in:
hanxuanyu 2024-03-28 15:11:21 +08:00
parent 320c5d1f22
commit 6deb809f3c
1 changed files with 10 additions and 16 deletions

View File

@ -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,