SQLAlchemy を使用すると、Engine オブジェクトは次のように作成されます。
from sqlalchemy import create_engine
engine = create_engine("postgresql://localhost/mydb")
engine
の引数で指定されたデータベースcreate_engine
(この場合は) が存在しない場合、アクセスは失敗しますmydb
。指定されたデータベースが存在しない場合に、SQLAlchemy に新しいデータベースを作成するように指示することは可能ですか?
ベストアンサー1
SQLAlchemy ユーティリティSQLAlchemy 用のカスタム データ型とさまざまなユーティリティ関数を提供します。最新の公式バージョンは pip を使用してインストールできます。
pip install sqlalchemy-utils
のデータベースヘルパー関数を含めるcreate_database
:
from sqlalchemy import create_engine
from sqlalchemy_utils import database_exists, create_database
engine = create_engine("postgresql://localhost/mydb")
if not database_exists(engine.url):
create_database(engine.url)
print(database_exists(engine.url))