私は、MySQLデータベースを指しengine
があるとします。SQLAlchemyのエンジンのSQLダイアレクトでDDLを使ってファイルを生成するには?
engine = create_engine('mysql://arthurdent:[email protected]/dtdb', echo=True)
私はでテーブル、FKS、などとdtdb
を移入することができます
metadata.create_all(engine)
含まれているSQLファイルを生成するための簡単な方法がありますこれらのDDLステートメントを実際にdtdb
に適用するのではなく、すべてのDDLステートメントを使用しますか?
これまでのところ、私はecho=True
で生成されたSQLAlchemyログ出力をキャプチャして手作業で編集していました。しかし、あまりにも痛いです。
SAにはかなり精巧なスキーマ管理APIがあるようですが、スキーマ定義をテキストとしてストリーミングする例はありません。
このFAQリンクは私が必要なものです。ありがとう! :) 私は、移行のようなスキーマ管理を探していませんでした。単純に、エンジンエコー出力を使わずにDDLを取得するための単純なハッキングが必要でした。 –
これはPython 0.9で変更されたようです。また、FAQは0.9のために存在しないようです。 –
2番目の構文はSQLAlchemy 1.0.12では機能しませんでした。https://groups.google.com/d/topic/sqlalchemy/r9neOsc64wc/discussion –