Yukii's Blog

Yet Another Tech Blog.

SQLAlchemy で migration をやるときは Alembic を使うべき

2019/02/27

仕事で SQL Alchemy を使うことになり、その migration は何がいいのかを調べていた。 結論から言うと、 Alembic がいい、と言うことになる。

SQLAlchemy の migration 事情

SQLAlchemy migration で Google 検索すると、以下のライブラリが発見される。

  • sqlalchemy-migrate
  • alembic

パッと出てくる日本語記事は、そのどちらかをやってみた系の記事が大半で、わりとげんなりする。 仕方がないので、それぞれのライブラリ事情を調べてみた。

比較: Alembic を使いましょう。

みんな大好き stackoverflow の記事によると、圧倒的に Alembic を使え、と書いてある。

さらに調べると、この Google Forum のディスカッションに行き着く。

流れとしては、

  1. SQLAlchemy-migrate が第三者によって作られる。
  2. メンテする人がいなくなり、 SQLAlchemy の作者(Mike Bayer)がメンテナーみたいな風潮になる
  3. その Mike Bayer は、自分が考える最強の Migration ツールとして Alembic を作る

実質メンテナーの Mike Bayer が、 SQLAlchemy-migrate は “unmaintained” だと行っているので、基本的にみんな Alembic を使うべき。

tags:  sqlalchemy  sqlalchemy-migrate  alembic