source push
This commit is contained in:
40
copy_env_row_to_latest.py
Normal file
40
copy_env_row_to_latest.py
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
env_config에서 지정한 id 행을 그대로 복사해 새 행으로 INSERT.
|
||||
→ 봇은 항상 id 최대(최신) 행만 쓰므로, 4번 내용이 곧 '최신 설정'이 됨.
|
||||
|
||||
사용: python copy_env_row_to_latest.py [소스_id]
|
||||
소스_id 기본값: 4
|
||||
"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
SCRIPT_DIR = Path(__file__).resolve().parent
|
||||
sys.path.insert(0, str(SCRIPT_DIR))
|
||||
|
||||
from database import TradeDB, ENV_CONFIG_KEYS
|
||||
|
||||
def main():
|
||||
source_id = int(sys.argv[1]) if len(sys.argv) > 1 else 4
|
||||
db_path = SCRIPT_DIR / "quant_bot.db"
|
||||
db = TradeDB(db_path=str(db_path))
|
||||
|
||||
row = db.conn.execute("SELECT * FROM env_config WHERE id = ?", (source_id,)).fetchone()
|
||||
if not row:
|
||||
print(f"id={source_id} 행이 없습니다.")
|
||||
db.close()
|
||||
return
|
||||
|
||||
# id=4 내용으로 새 스냅샷 생성 (created_at만 현재 시각)
|
||||
import datetime
|
||||
snapshot = {k: (row[k] if row[k] is not None else "") for k in ENV_CONFIG_KEYS if k in row.keys()}
|
||||
env_id = db.insert_env_snapshot(snapshot)
|
||||
db.close()
|
||||
|
||||
if env_id:
|
||||
print(f"✅ id={source_id} 내용을 새 행(id={env_id})으로 복사했습니다. 이제 최신 설정입니다.")
|
||||
else:
|
||||
print("❌ INSERT 실패")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user