Files
MoFin/archive/hermes-dead-tools-20260820/inspect_third_db.py
T
xxm c68f987653 chore(cleansweep): 代码大扫除——归档hermes 111个死工具+4个废弃scanner,收敛MoFin/scripts重复副本,删除根旧版mo_models
- archive/hermes-dead-tools-20260820/: hermes独有不在cron不被import的111个一次性排查/测试工具
- archive/hermes-dead-tools-20260820/: 4个废弃scanner(btd1_v3/market_scanner/market_thermometer已废弃/s2v2)
- archive/legacy-cleanup-20260820/: MoFin根2旧版(mo_models/technical_analysis)+/home/hmo/scripts无引用旧项目+MoFin/scripts重复prepare_report_data
- 删除MoFin根mo_models.py(根旧版,deploy/profile-scripts权威保留)
- 保留: mofin_db.py/mo_data.py硬链接(server.py多层sys.path需各目录访问同一inode,非冗余)
- fix_gateway.py保留(Gateway看门狗fix_gateway_port.py的活跃依赖,勿误删)
- 验证: cron所有脚本引用无缺失, key模块import正常
- hermes独有从116收敛到5核心(alert_logger/market_screener/prepare_report_data/self_todo_executor_v2/xmpp_zhiwei_bot)
2026-08-20 10:36:25 +08:00

33 lines
1.2 KiB
Python

import sqlite3
from datetime import datetime
THIRD = '/home/hmo/.hermes/profiles/position-analyst/scripts/data/mofin.db'
MAIN = '/home/hmo/MoFin/data/mofin.db'
t = sqlite3.connect(THIRD, timeout=10)
m = sqlite3.connect(MAIN, timeout=30)
m.execute('PRAGMA busy_timeout=30000')
for table in ['sector_snapshots', 'market_snapshots', 'todos', 'capital_flow_cache']:
try:
tcols = [r[1] for r in t.execute(f"PRAGMA table_info({table})")]
mcols = [r[1] for r in m.execute(f"PRAGMA table_info({table})")]
print(f'{table}: third_cols={tcols}')
print(f' main_cols={mcols}')
tcnt = t.execute(f"SELECT COUNT(*) FROM {table}").fetchone()[0]
mcnt = m.execute(f"SELECT COUNT(*) FROM {table}").fetchone()[0]
print(f' third={tcnt} rows, main={mcnt} rows')
except Exception as e:
print(f'{table}: ERR {e}')
print()
# sector_snapshots schema in both
print('sector_snapshots sample (third):')
for r in t.execute("SELECT * FROM sector_snapshots ORDER BY rowid DESC LIMIT 2"):
print(' ', str(r)[:200])
print('sector_snapshots sample (main):')
for r in m.execute("SELECT * FROM sector_snapshots ORDER BY rowid DESC LIMIT 2"):
print(' ', str(r)[:200])
t.close()
m.close()