データベースが存在するかどうかを検索する python sqlalchemy を使用してスクリプトを作成する必要があります。データベースが存在する場合はデータベースにクエリを実行し、そうでない場合はデータベースとテーブルを作成します。
擬似コード:
if db exists cursor.execute(sql)
else
create db test;
create tables;
insert data;
データベースが存在するかどうかを検索する python sqlalchemy を使用してスクリプトを作成する必要があります。データベースが存在する場合はデータベースにクエリを実行し、そうでない場合はデータベースとテーブルを作成します。
擬似コード:
if db exists cursor.execute(sql)
else
create db test;
create tables;
insert data;
データベースが存在しない場合sqlalchemy.engine.base.Engine.connect()
に発生するメソッドを使用できます。OperationalError
import sqlalchemy as sqla
from sqlalchemy import create_engine
from sqlalchemy.exc import OperationalError
db = sqla.create_engine(database_uri)
try:
db.connect()
db.execute(sql)
except OperationalError:
# Switch database component of the uri
default_database_uri = os.path.join(os.path.dirname(
str(db.engine.url)), 'mysql')
db = sqla.create_engine(default_database_uri)
# Create your missing database/tables/data here
# ...
他のライブラリをインポートしても構わない場合の別の方法は、sqlalchemy_utils を使用することです。次にdatabase_exists
、sqlalchemy データベース uri を渡すと、期待どおりの結果が得られます。
if database_exists('sqllite:////tmp/test.db'):
do_stuff_with_db(db)
http://sqlalchemy-utils.readthedocs.org/en/latest/database_helpers.html
データベースに接続し、のようなユニバーサルクエリを実行するエンジンを作成しますSELECT 1;
。失敗した場合は、DBを作成できます。ただし、新しいデータベースを作成する方法は、DBMSによって異なります。
PostgreSQLでは、postgres
データベースに接続してステートメントを発行してCREATE DATABASE
から、新しく作成されたデータベースに接続します。