import sys, os sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..') from database import TradeDB db = TradeDB() try: # ls_ws_ticks 컬럼 확인 ls_tick_cols = [dict(r)["Field"] for r in db.conn.execute("SHOW COLUMNS FROM ls_ws_ticks").fetchall()] print("[ls_ws_ticks 컬럼]:", ls_tick_cols) ts_col = next((c for c in ['recv_ts','ts','timestamp','snap_time','created_at'] if c in ls_tick_cols), None) if ts_col: print(f"\n[LS 틱 시간대별 - {ts_col} 기준]") ls_hourly = db.conn.execute(f""" SELECT HOUR({ts_col}) as hr, count(*) as c FROM ls_ws_ticks WHERE DATE({ts_col}) = '2026-08-31' GROUP BY hr ORDER BY hr """).fetchall() for r in ls_hourly: print(f" {dict(r)}") new_ticks = db.conn.execute(f""" SELECT count(*) as c FROM ls_ws_ticks WHERE {ts_col} >= '2026-08-31 12:22:00' """).fetchone() print(f"\n 재시작(12:22) 이후 틱: {dict(new_ticks)['c']}") latest = db.conn.execute(f"SELECT MAX({ts_col}) as last FROM ls_ws_ticks").fetchone() print(f" 가장 최근 틱: {dict(latest)['last']}") # 후보 목록 print("\n[target_candidates]") cands = db.conn.execute("SELECT count(*) as c FROM target_candidates").fetchone() print(f" 총 {dict(cands)['c']}건") # ls_universe_history print("\n[ls_universe_history]") uh_cols = [dict(r)["Field"] for r in db.conn.execute("SHOW COLUMNS FROM ls_universe_history").fetchall()] ts2 = next((c for c in ['created_at','updated_at','scan_time','ts'] if c in uh_cols), None) if ts2: cnt_today = db.conn.execute(f"SELECT count(*) as c FROM ls_universe_history WHERE DATE({ts2}) = '2026-08-31'").fetchone() print(f" 오늘({ts2}): {dict(cnt_today)['c']}건") latest2 = db.conn.execute(f"SELECT MAX({ts2}) as last FROM ls_universe_history").fetchone() print(f" 전체 최근: {dict(latest2)['last']}") else: print(" ts컬럼 없음, 컬럼:", uh_cols) finally: db.close()