皆さん、こんにちは!
最近、sqlalchemyでモデルを作成したのと、alembicでマイグレーションを実行する機会があったので、使い方を書いておきます。
以下は別記事でまとめようかと思ってます。
- どのようにsqlalchemyでモデルを定義するのか
- 定義したモデルからalembicでマイグレーションファイルの自動作成
alembicとは?
alembicは、python用のDBマイグレーションツールです。
sqlalchemyというのは、python用のORMなのですが。今回モデルを作成後、alembicでマイグレーションを実行してます。
マイグレーションファイルの作成
空のマイグレーションスクリプトを作成する。
`<comment>`で記載した部分がマイグレーションスクリプト名に追加されます。
# alembic revision -m "<comment>"
ex)
# alembic revision -m "Added user table"
「–autogenerate」オプションを付けると、モデルから自動でマイグレーションスクリプトを生成できる。
この辺は別記事で解説します。
# alembic revision --autogenerate -m "Added user table"
マイグレーションを実行する
# 最初のマイグレーション
# alembic upgrade head
# 二回目以降も同じ
# alembic upgrade head
# 数値指定でも可能
# alembic upgrade +2
前の状態に戻す(ダウングレード)
# 数値指定でいくつ前まで戻す
# alembic downgrade -1
# 初期状態に戻す
# alembic downgrade base
現状のマイグレーションのバージョンを確認する
# alembic current
マイグレーション履歴を確認する
# alembic history --verbose
参照
Tutorial — Alembic 1.13.2 documentation