Files
kis_bot/scratch/update_env_keep_days.py

71 lines
2.4 KiB
Python

"""
DB env 값 7로 일괄 업데이트:
- SCALP_CANDLE_KEEP_DAYS: NULL → 7 (ws_candles)
- WS_TICK_KEEP_DAYS: NULL → 7 (ws_ticks - 코드 기본값과 동일하게 명시)
- WS_ORDERBOOK_KEEP_DAYS: NULL → 7
- WS_PROGRAM_KEEP_DAYS: NULL → 7 (없으면 신규)
- LS_WS_TICK_KEEP_DAYS: 신규 추가 (ls_ws_ticks)
- LS_WS_ORDERBOOK_KEEP_DAYS: 이미 7 → 확인
"""
import sys, os
sys.path.insert(0, '/home/hoon/kis_bot')
os.chdir('/home/hoon/kis_bot')
from database import TradeDB
db = TradeDB()
try:
# env_config 테이블 컬럼 확인
cols = [dict(r)['Field'] for r in db.conn.execute("SHOW COLUMNS FROM env_config").fetchall()]
print(f"env_config 컬럼: {cols}")
# env_config_ext 컬럼 확인
cols_ext = [dict(r)['Field'] for r in db.conn.execute("SHOW COLUMNS FROM env_config_ext").fetchall()]
print(f"env_config_ext 컬럼: {cols_ext}")
# 현재 env_config_ext 값 확인
keys_to_set = [
'SCALP_CANDLE_KEEP_DAYS',
'WS_TICK_KEEP_DAYS',
'WS_ORDERBOOK_KEEP_DAYS',
'WS_PROGRAM_KEEP_DAYS',
'LS_WS_TICK_KEEP_DAYS',
'LS_WS_ORDERBOOK_KEEP_DAYS',
]
for k in keys_to_set:
row = db.conn.execute(
"SELECT env_value FROM env_config_ext WHERE env_key = %s", (k,)
).fetchone()
print(f" 현재 {k} = {dict(row)['env_value'] if row else 'NULL'}")
# env_config_ext에 UPSERT (있으면 UPDATE, 없으면 INSERT)
import datetime
now_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for k in keys_to_set:
row = db.conn.execute(
"SELECT env_value FROM env_config_ext WHERE env_key = %s", (k,)
).fetchone()
if row:
db.conn.execute(
"UPDATE env_config_ext SET env_value = %s, updated_at = %s WHERE env_key = %s",
('7', now_str, k)
)
print(f" UPDATE {k} = 7")
else:
db.conn.execute(
"INSERT INTO env_config_ext (env_key, env_value, updated_at) VALUES (%s, %s, %s)",
(k, '7', now_str)
)
print(f" INSERT {k} = 7")
# 검증
print("\n=== 업데이트 후 확인 ===")
for k in keys_to_set:
row = db.conn.execute(
"SELECT env_value FROM env_config_ext WHERE env_key = %s", (k,)
).fetchone()
print(f" {k} = {dict(row)['env_value'] if row else 'NULL'}")
finally:
db.close()