DBからpyramidのモデルを生成する

すでに稼働中のアプリケーションでフルスクラッチする場合にモデルが流用できないところからの移行をしようとすると、モデルをDBのスキーマーにあわせて作るという作業が発生するが、これが地味に無駄なので避けたいなーと思って調べたらそれっぽいものがあったのでメモ

まだ、実際にちゃんと動くかどうかはまだ試してないのでモデルがちゃんと動かないとかって可能性はある。

SQLAlcemyにSQLAlcemy Migrateというツールがあってこれを使う。

まずはインストール、ドライバーは自分の環境に合わせたものを私の場合はmysql-connectorをチョイス

pip install --allow-external mysql-connector-python mysql-connector-python
pip install sqlalchemy-migrate

マイグレート用のテンプレートからレポジトリをまず作る。

migrate create migrate_example "Example project"
cd migrate_example/

マイグレートするDBの設定をデフォルトで利用するように設定する。

migrate manage manage.py --repository=./ --url=mysql+mysqlconnector://user:password@host/db_name

モデルを生成する。

以上でモデルが生成される。がモデルを実際には試してないので試したらまた書く。