diff --git a/lotto/app/db.py b/lotto/app/db.py index 0093ed5..eacd8d1 100644 --- a/lotto/app/db.py +++ b/lotto/app/db.py @@ -279,6 +279,25 @@ def init_db() -> None: """) conn.execute("CREATE INDEX IF NOT EXISTS idx_review_draw ON weekly_review(draw_no DESC)") + # ── lotto_briefings.picks 4계층 마이그레이션 (1회 변환) ─────────────── + # 기존: picks가 JSON 리스트 [{numbers,risk_tag,reason}] + # 신규: picks가 JSON 객체 {core:[...], bonus:[], extended:[], pool:[]} + rows = conn.execute("SELECT id, picks FROM lotto_briefings").fetchall() + for r in rows: + try: + p = json.loads(r["picks"]) + if isinstance(p, list): + new_picks = {"core": p, "bonus": [], "extended": [], "pool": []} + conn.execute( + "UPDATE lotto_briefings SET picks=? WHERE id=?", + (json.dumps(new_picks, ensure_ascii=False), r["id"]), + ) + except (json.JSONDecodeError, TypeError): + continue + + _ensure_column(conn, "lotto_briefings", "tier_rationale", + "ALTER TABLE lotto_briefings ADD COLUMN tier_rationale TEXT NOT NULL DEFAULT '{}'") +