- 移除重复的系统健康检查-每日(no_agent版,与LLM版重叠) - 归档42个一次性脚本(移出MoFin/scripts→archive/scripts): - fix_*: 历史数据修复(11个) - migrate_*/rollback_*: 数据迁移(2个) - 一次性数据修复: bulk/close/data_freshness等(16个) - check_*/verify_*/diagnose_*: 历史诊断工具(12个) - test_*: 测试脚本(3个) - 84个活跃脚本, 0架构违规, 31张healthy数据表
32 lines
921 B
Python
32 lines
921 B
Python
"""Phase 1: Add missing columns to holding_strategies for decisions.json→DB migration"""
|
|
import sqlite3
|
|
|
|
db = sqlite3.connect('/home/hmo/web-dashboard/data/mofin.db')
|
|
|
|
new_cols = {
|
|
'avg_price': 'REAL',
|
|
'decision_timestamp': 'TEXT', # avoids conflict with SQLite timestamp
|
|
'note': 'TEXT',
|
|
'quality_check': 'TEXT',
|
|
'quality_checked_at': 'TEXT',
|
|
'quality_issues_json': 'TEXT',
|
|
'position_advice': 'TEXT',
|
|
'signal_factors_json': 'TEXT',
|
|
'time_horizon': 'TEXT',
|
|
'decision_type': 'TEXT',
|
|
}
|
|
|
|
# Get existing columns
|
|
existing = {r[1] for r in db.execute("PRAGMA table_info(holding_strategies)")}
|
|
|
|
for col, ctype in new_cols.items():
|
|
if col in existing:
|
|
print(f"SKIP: {col} already exists")
|
|
else:
|
|
db.execute(f"ALTER TABLE holding_strategies ADD COLUMN {col} {ctype}")
|
|
print(f"ADDED: {col} {ctype}")
|
|
|
|
db.commit()
|
|
db.close()
|
|
print("\nSchema migration done.")
|