Skip to content

Commit 2e5d8f6

Browse files
committed
refactor: 重构代码以提高可维护性和可扩展性
- 新增 GlobalConfig 类以集中配置 - 重构 MyMongo 类以使用新的配置类 - 修改 dump.py 中的类和函数以适应新配置 - 重构 main.py 中的配置加载和处理逻辑- 删除不必要的代码和注释,简化代码结构
1 parent b82abc9 commit 2e5d8f6

3 files changed

Lines changed: 2 additions & 11 deletions

File tree

src/base.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,9 @@ def create_indexes_on_target(self, database_name: str, indexes_info: Dict[str, L
161161
target_collection = target_db[collection_name]
162162

163163
if not indexes:
164-
print(f" 📄 集合 {collection_name}: 无索引需要创建")
165164
results[collection_name] = True
166165
continue
167166

168-
print(f" 📄 集合 {collection_name}: 准备创建 {len(indexes)} 个索引")
169-
170167
# 准备索引模型
171168
index_models = []
172169
for index_info in indexes:

src/manager.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,8 @@ def dump_and_restore(self):
109109
db_name, success, duration, export_time, import_time = future.result()
110110
if success:
111111
successful_dbs.append((db_name, duration, export_time, import_time))
112-
print(f' 🎉 数据库 {db_name} 处理完成 (耗时: {duration:.2f}秒)')
113112
else:
114113
failed_dbs.append((db_name, duration, export_time, import_time))
115-
print(f' 💥 数据库 {db_name} 处理失败 (耗时: {duration:.2f}秒)')
116114

117115
except KeyboardInterrupt:
118116
print(f" ⚠️ 用户中断处理数据库: {db_name}")
@@ -157,8 +155,6 @@ def dump_and_restore(self):
157155
else:
158156
print(f" 并行效率: N/A")
159157

160-
print(f' 🎯 所有数据库操作完成,总耗时: {total_time:.2f}秒')
161-
162158
# 如果有失败的数据库,打印错误信息
163159
if failed_dbs:
164160
print("⚠️ 部分数据库处理失败,请检查日志")

src/restore.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ def restore_db(self, database: str) -> None:
5151
for i, shard_file in enumerate(shard_files):
5252
import_tasks.append(('sharded', original_name, shard_file))
5353

54-
# 先删除原始集合(仅针对分片集合)
54+
# 先重建原始集合(仅针对分片集合)
5555
for original_name in sharded_collections:
5656
self.client[database][original_name].drop()
57+
self.client[database].create_collection(original_name)
5758

5859
# 普通任务:每个普通集合单独导入
5960
for collection_name in normal_collections:
@@ -108,9 +109,6 @@ def restore_db(self, database: str) -> None:
108109
if errors:
109110
raise Exception(f"导入过程中出现 {len(errors)} 个错误:\n" + "\n".join(errors))
110111

111-
print(f'✅ 数据库 {database} 并发导入完成')
112-
113-
print(f'✅ 数据库 {database} 并发导入完成')
114112

115113
except Exception as e:
116114
print(f'❌ 导入数据库 {database} 失败: {e}')

0 commit comments

Comments
 (0)