alembic:マイグレーションコマンドまとめ

pythonWeb開発

皆さん、こんにちは!

最近、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
タイトルとURLをコピーしました