API는 그대로, await만 뿌리면 돼
aiosqlite는 표준 sqlite3 모듈을 감싸서 모든 연산을 await할 수 있게 만들어. 안에서는 connection마다 백그라운드 thread를 하나씩 두고 호출을 거기로 밀어 넣어. 그래서 event loop가 절대 멈추지 않아.
pip install aiosqlite기억할 모양은 다섯이야.
aiosqlite.connect(path)— connection을 내주는 async context manager야.conn.execute(sql, params)— async cursor를 돌려줘.await cursor.fetchone()과await cursor.fetchall()로 결과를 꺼내.async for row in conn.execute(...)로 흘려 받으며 순회해.conn.row_factory = aiosqlite.Row로 sync sqlite3와 똑같이 dict처럼 다뤄.
Tip: sync sqlite3에서 걸던 PRAGMA를 여기서도 똑같이 걸어. WAL, foreign_keys, busy_timeout 다. aiosqlite가 밑에 있는 connection에 그대로 넘겨줘.