MCPcopy
hub / github.com/NanmiCoder/MediaCrawler / print_diff

Function print_diff

test/test_db_sync.py:101–130  ·  view source on GitHub ↗

Print difference report

(db_name, diff)

Source from the content-addressed store, hash-verified

99 }
100
101def print_diff(db_name, diff):
102 """Print difference report"""
103 print(f"--- {db_name} Database Structure Difference Report ---")
104 if not any(diff.values()):
105 print("Database structure matches ORM model, no synchronization needed.")
106 return
107
108 if diff.get("added_tables"):
109 print("\n[+] Added tables:")
110 for table in diff["added_tables"]:
111 print(f" - {table}")
112
113 if diff.get("deleted_tables"):
114 print("\n[-] Deleted tables:")
115 for table in diff["deleted_tables"]:
116 print(f" - {table}")
117
118 if diff.get("changed_tables"):
119 print("\n[*] Changed tables:")
120 for table, changes in diff["changed_tables"].items():
121 print(f" - {table}:")
122 if changes.get("added"):
123 print(" [+] Added fields:", ", ".join(changes["added"]))
124 if changes.get("deleted"):
125 print(" [-] Deleted fields:", ", ".join(changes["deleted"]))
126 if changes.get("modified"):
127 print(" [*] Modified fields:")
128 for col, types in changes["modified"].items():
129 print(f" - {col}: {types[0]} -> {types[1]}")
130 print("--- End of Report ---")
131
132
133def sync_database(engine, diff):

Callers 1

mainFunction · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected