#!/usr/bin/env python3 """ 환경변수 DB 업데이트 스크립트 (간단 버전) - 딕셔너리로 직접 값을 넣어서 업데이트 """ import sys from pathlib import Path SCRIPT_DIR = Path(__file__).resolve().parent sys.path.insert(0, str(SCRIPT_DIR)) from database import TradeDB def update_env(updates): """ 환경변수 업데이트 Args: updates: 업데이트할 환경변수 딕셔너리 예: { "KIS_APP_KEY": "your_app_key", "KIS_APP_SECRET": "your_app_secret", "MM_BOT_TOKEN_": "your_token", ... } """ db_path = SCRIPT_DIR / "quant_bot.db" db = TradeDB(db_path=str(db_path)) # 기존 최신 설정 불러오기 latest = db.get_latest_env() if latest and latest.get("snapshot"): current = latest["snapshot"] print(f"📋 기존 설정 불러옴 (ID: {latest['id']})") else: current = {} print("⚠️ 기존 설정 없음 - 새로 생성") # 기존 값과 병합 new_snapshot = {**current, **updates} # 새 스냅샷 저장 env_id = db.insert_env_snapshot(new_snapshot) if env_id: print(f"✅ 환경변수 저장 완료! (새 스냅샷 ID: {env_id})") print(f" 업데이트된 키: {', '.join(updates.keys())}") else: print("❌ 저장 실패!") db.close() return env_id if __name__ == "__main__": # 여기에 업데이트할 값들을 딕셔너리로 넣으세요 my_updates = { # 한투 API 설정 "KIS_MOCK": "true", #"KIS_APP_KEY_REAL": "PSUT2l4CO94DjrwDa2EAnEl639YXnWHdbbkN", # 여기에 앱키 입력 #"KIS_APP_SECRET_REAL": "2SkPBKrztpBomcR+pYNEBuVa5/iSqYLQxsDn/YqJuQ0dULp/GqTAePhe4czJHuf/1XBUd18KDV6ZTrmxfI8eTiCfIEaO6jMKSq0u+CoUkHTrO9TfliYtxsNbl43jL+rokLB54V2VmHrlqM4WCF+54bMWhzzSE7z3OOl67V9yWKCWIoTrcYg=", # "KIS_APP_KEY_MOCK": "PSdfKtsMihgC9tLiUr2XISscuR3fHxl6kvmV", # 여기에 앱키 입력` # "KIS_APP_SECRET_MOCK": "Ip+XZrZcoz11thgDD40XS8i6R1AalYkKFZwg2w8+ZMulVKN8rJVXiqGONxc4EYxw1S3TgOcx7fSldDc6EGq63bprfbgHwKWxstu29ZmLAtRNU0oFqV7e9vCOfgiWxrfnCqwcihoS7ovmza9+Ylqd8/EtjFGNmhQHWocyTAm8kdp5IG6tFtc=", # 여기에 앱시크릿 입력 # "KIS_ACCOUNT_NO_REAL": "44030801", # "KIS_ACCOUNT_NO_MOCK": "50166974", # "KIS_ACCOUNT_NO_MOCK": "44030801", # "KIS_ACCOUNT_NO_MOCK": "50169256", # "KIS_ACCOUNT_CODE_REAL": "01", # "KIS_ACCOUNT_CODE_MOCK": "01", #"MM_BOT_TOKEN_": "5o4bfsqo97dedyq7599wz6joie", "TAKE_PROFIT_PCT_LONG": "0.010", #"MIN_RECOVERY_RATIO": 0.35, #"MIN_DROP_RATE": 0.02, } # 빈 값 제거 (업데이트하지 않음) my_updates = {k: v for k, v in my_updates.items() if v} if not my_updates: print("⚠️ 업데이트할 값이 없습니다.") print(" update_env_simple.py 파일을 열어서 my_updates 딕셔너리에 값을 입력하세요.") sys.exit(1) update_env(my_updates)