docs: v1.5.1 - watermark fix, student_goals placeholder, cleanup duplicate checklist
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import sqlite3
|
||||
|
||||
def get_templates(db_path):
|
||||
conn = sqlite3.connect(db_path)
|
||||
c = conn.cursor()
|
||||
c.execute("SELECT id, name, type, sort_order FROM templates ORDER BY type, sort_order")
|
||||
rows = c.fetchall()
|
||||
conn.close()
|
||||
return rows
|
||||
|
||||
dev_path = r"D:\F\NewI\opencode\daily-workspace\projects\青年钢琴集体课\练习方案系统\data\piano_plans.db"
|
||||
prod_path = r"D:\F\NewI\opencode\daily-workspace\projects\青年钢琴集体课\练习方案系统\temp_prod.db"
|
||||
|
||||
dev_rows = get_templates(dev_path)
|
||||
prod_rows = get_templates(prod_path)
|
||||
|
||||
with open("temp_templates_compare.txt", "w", encoding="utf-8") as f:
|
||||
f.write("=== DEV TEMPLATES ===\n")
|
||||
for r in dev_rows:
|
||||
f.write(f"ID={r[0]} | {r[1]} | type={r[2]} | sort={r[3]}\n")
|
||||
|
||||
f.write("\n=== PROD TEMPLATES ===\n")
|
||||
for r in prod_rows:
|
||||
f.write(f"ID={r[0]} | {r[1]} | type={r[2]} | sort={r[3]}\n")
|
||||
|
||||
f.write("\n=== COMPARISON ===\n")
|
||||
dev_ids = {r[0] for r in dev_rows}
|
||||
prod_ids = {r[0] for r in prod_rows}
|
||||
only_dev = dev_ids - prod_ids
|
||||
only_prod = prod_ids - dev_ids
|
||||
same_ids = dev_ids & prod_ids
|
||||
|
||||
if only_dev:
|
||||
f.write(f"ONLY IN DEV: IDs {only_dev}\n")
|
||||
for r in dev_rows:
|
||||
if r[0] in only_dev:
|
||||
f.write(f" ID={r[0]} | {r[1]} | type={r[2]} | sort={r[3]}\n")
|
||||
if only_prod:
|
||||
f.write(f"ONLY IN PROD: IDs {only_prod}\n")
|
||||
for r in prod_rows:
|
||||
if r[0] in only_prod:
|
||||
f.write(f" ID={r[0]} | {r[1]} | type={r[2]} | sort={r[3]}\n")
|
||||
if same_ids:
|
||||
dev_map = {r[0]: r for r in dev_rows}
|
||||
prod_map = {r[0]: r for r in prod_rows}
|
||||
for i in sorted(same_ids):
|
||||
d = dev_map[i]
|
||||
p = prod_map[i]
|
||||
if d != p:
|
||||
f.write(f"DIFF ID={i}:\n")
|
||||
f.write(f" DEV: name={d[1]} type={d[2]} sort={d[3]}\n")
|
||||
f.write(f" PROD: name={p[1]} type={p[2]} sort={p[3]}\n")
|
||||
else:
|
||||
f.write(f"ID={i}: IDENTICAL\n")
|
||||
|
||||
print("done")
|
||||
Reference in New Issue
Block a user