engine
MySQLデータベースを指していると仮定します。
engine = create_engine('mysql://arthurdent:answer42@localhost/dtdb', echo=True)
dtdb
次の方法でテーブルやFKなどを入力できます。
metadata.create_all(engine)
これらのDDLステートメントを実際に適用する代わりに、すべてのDDLステートメントを含むSQLファイルを生成する簡単な方法はありますdtdb
か?
これまで、によって生成されたSQLAlchemyログ出力をキャプチャしecho=True
、それを手動で編集することに頼ってきました。しかし、それはあまりにも苦痛です。
SAにはかなり精巧なスキーマ管理APIがあるように見えますが、スキーマ定義をテキストとして単純にストリーミングする例は見たことがありません。