diff --git a/create/create_table.py b/create/create_table.py index 4f76d84..ef40240 100644 --- a/create/create_table.py +++ b/create/create_table.py @@ -69,16 +69,23 @@ def update_sql_file(): with open(sql_file_path, 'r', encoding='utf-8') as f: content = f.read() - # 查找插入位置(在"部署完成"日志前) - insert_pattern = r'(DO \$\$.*?RAISE NOTICE \'🚀============ 数据库表部署开始 ============🚀\'.*?END \$\$;)(.*?)(DO \$\$.*?RAISE NOTICE \'============ 数据库表部署完成 ============\'.*?END \$\$;)' + # 查找插入位置:在"部署开始"和"部署完成"之间插入 + # 更简单的模式匹配 + start_pattern = r"(DO \$\$.*?RAISE NOTICE '🚀============ 数据库表部署开始 ============🚀'.*?END \$\$;)" + end_pattern = r"(DO \$\$.*?RAISE NOTICE '✅============ 数据库表部署完成 ============✅'.*?END \$\$;)" - match = re.search(insert_pattern, content, re.DOTALL) + start_match = re.search(start_pattern, content, re.DOTALL) + end_match = re.search(end_pattern, content, re.DOTALL) - if match: + if start_match and end_match: + # 获取开始和结束位置 + start_end_pos = start_match.end() + end_start_pos = end_match.start() + # 分割内容 - before_insert = match.group(1) - existing_middle = match.group(2) - after_insert = match.group(3) + before_insert = content[:start_end_pos] + existing_middle = content[start_end_pos:end_start_pos] + after_insert = content[end_start_pos:] # 规范化空行 existing_middle = normalize_blank_lines(existing_middle) @@ -99,6 +106,8 @@ def update_sql_file(): else: print("❌ 无法找到插入位置,请检查文件格式") + print(f"调试信息 - 开始模式匹配: {bool(start_match)}") + print(f"调试信息 - 结束模式匹配: {bool(end_match)}") except FileNotFoundError: print(f"❌ 文件 {sql_file_path} 不存在")