feat: auto-sync full lotto history on stats api access
This commit is contained in:
@@ -88,6 +88,30 @@ def upsert_draw(row: Dict[str, Any]) -> None:
|
||||
),
|
||||
)
|
||||
|
||||
def upsert_many_draws(rows: List[Dict[str, Any]]) -> None:
|
||||
data = [
|
||||
(
|
||||
int(r["drw_no"]), str(r["drw_date"]),
|
||||
int(r["n1"]), int(r["n2"]), int(r["n3"]),
|
||||
int(r["n4"]), int(r["n5"]), int(r["n6"]),
|
||||
int(r["bonus"])
|
||||
) for r in rows
|
||||
]
|
||||
with _conn() as conn:
|
||||
conn.executemany(
|
||||
"""
|
||||
INSERT INTO draws (drw_no, drw_date, n1, n2, n3, n4, n5, n6, bonus)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
ON CONFLICT(drw_no) DO UPDATE SET
|
||||
drw_date=excluded.drw_date,
|
||||
n1=excluded.n1, n2=excluded.n2, n3=excluded.n3,
|
||||
n4=excluded.n4, n5=excluded.n5, n6=excluded.n6,
|
||||
bonus=excluded.bonus,
|
||||
updated_at=datetime('now')
|
||||
""",
|
||||
data
|
||||
)
|
||||
|
||||
def get_latest_draw() -> Optional[Dict[str, Any]]:
|
||||
with _conn() as conn:
|
||||
r = conn.execute("SELECT * FROM draws ORDER BY drw_no DESC LIMIT 1").fetchone()
|
||||
|
||||
Reference in New Issue
Block a user