36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from sqlalchemy import create_engine, text
|
|
|
|
engine = create_engine('sqlite:///cms.db')
|
|
with engine.connect() as conn:
|
|
print("=== home_experts 表数据 ===")
|
|
rows = conn.execute(text("""
|
|
SELECT he.id, he.post_id, he.sort_order, he.is_enabled,
|
|
np.title AS old_post_title
|
|
FROM home_experts he
|
|
LEFT JOIN news_posts np ON np.id = he.post_id
|
|
ORDER BY he.sort_order
|
|
""")).fetchall()
|
|
print(f"共 {len(rows)} 条记录")
|
|
for r in rows:
|
|
print(f" id={r[0]} post_id={r[1]} sort={r[2]} enabled={r[3]} title={r[4]}")
|
|
|
|
print("\n=== 用 title 匹配 articles 表 ===")
|
|
for r in rows:
|
|
if not r[4]:
|
|
print(f" home_expert id={r[0]}: 老 post 已不存在")
|
|
continue
|
|
art = conn.execute(text("SELECT id, title FROM articles WHERE title = :t"), {"t": r[4]}).fetchone()
|
|
if art:
|
|
print(f" home_expert id={r[0]}: 老post_id={r[1]} -> 新article_id={art[0]} ({art[1]})")
|
|
else:
|
|
print(f" home_expert id={r[0]}: 老post_id={r[1]} 找不到对应的新 article (title={r[4]})")
|
|
|
|
print("\n=== home_modules 表结构 ===")
|
|
cols = conn.execute(text("PRAGMA table_info(home_modules)")).fetchall()
|
|
for c in cols:
|
|
print(f" {c[1]} {c[2]}")
|
|
print("\n=== home_modules 所有记录 ===")
|
|
rows = conn.execute(text("SELECT * FROM home_modules")).fetchall()
|
|
for r in rows:
|
|
print(f" {r}"[:300])
|