databasesを使ってみよう
databasesについて
Databases モジュールは、SQLAlchemy のコアモジュールを非同期処理に対応させたORMで、さまざまなデータベースに対するシンプルなasyncioのサポートを提供しています。
データベースシステムとしては、PostgreSQL、MySQL、SQLite をサポートしています。
databasesモジュールは、Starlette、Sanic、Responder、Quart、aiohttp、Tornado、FastAPIなど、あらゆる非同期Webフレームワークとの統合することができます。
制限としては Python 3.6 以降が必要となります。
インストール
databasesのインストールは pip で行います。
code: bash
$ pip install databases
必要なドライバも合わせてインストールする場合は次のように行います。
code: bash
$ pip install databasespostgresql
$ pip install databasesmysql
$ pip install databasessqlite
ドライバは次のいずれかをサポートしています。
PostgresSQL:asyncpg
MySQL:aiomysql
SQLite:aiosqlite
engine.create_all() や alembic migrations のような SQLAlchemy の同期関数を使う場合は、同期 DB ドライバをインストールする必要があることに注意してください:。
PostgreSQL: psycopg2
MySQL:pymysql
参考資料
databases 公式ドキュメント
previous: データベースの非同期処理
next: tortoise を使ってみよう
#Pythonセミナー_非同期処理編