feat(Core/UI): 백테스트 전역 엔진 선택 버튼 추가 및 스캘핑 Rust 방어로직 포팅 1차 완료

This commit is contained in:
Your Name
2026-09-03 02:49:14 +09:00
parent ac1190f1fc
commit 3b7c21cde4
316 changed files with 56952 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
import sys, os
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
from database import TradeDB
db = TradeDB()
try:
# 빈 행 삭제 전 확인
empty = db.conn.execute("""
SELECT id, created_at FROM env_auth_config
WHERE KIS_APP_KEY_REAL IS NULL
AND KIS_APP_KEY IS NULL
AND KIWOOM_APP_KEY_REAL IS NULL
AND LS_APP_KEY_REAL IS NULL
ORDER BY id
""").fetchall()
print(f"[삭제 대상 빈 행] {len(empty)}개:")
for r in empty:
print(f" id={dict(r)['id']} created_at={dict(r)['created_at']}")
# 삭제
ids = [dict(r)['id'] for r in empty]
if ids:
placeholders = ','.join(['%s'] * len(ids))
db.conn.execute(f"DELETE FROM env_auth_config WHERE id IN ({placeholders})", ids)
db.conn.commit()
print(f"\n{len(ids)}개 빈 행 삭제 완료: {ids}")
# 최종 상태 확인
print("\n[삭제 후 최근 5행]")
rows = db.conn.execute("""
SELECT id, created_at, KIS_APP_KEY_REAL, KIS_APP_KEY_OB_REAL
FROM env_auth_config ORDER BY id DESC LIMIT 5
""").fetchall()
for r in rows:
d = dict(r)
for k in ['KIS_APP_KEY_REAL','KIS_APP_KEY_OB_REAL']:
v = d.get(k)
d[k] = (v[:6]+'...') if v else 'NULL'
print(f" id={d['id']} created_at={d['created_at']} KEY_REAL={d['KIS_APP_KEY_REAL']} OB_REAL={d['KIS_APP_KEY_OB_REAL']}")
finally:
db.close()