SQLAlchemy で migration をやるときは Alembic を使うべき
Published: 2019/2/27
仕事で SQL Alchemy を使うことになり、その migration は何がいいのかを調べていた。 結論から言うと、 Alembic がいい、と言うことになる。
SQLAlchemy の migration 事情
SQLAlchemy migration
で Google 検索すると、以下のライブラリが発見される。
- sqlalchemy-migrate
- alembic
パッと出てくる日本語記事は、そのどちらかをやってみた系の記事が大半で、わりとげんなりする。 仕方がないので、それぞれのライブラリ事情を調べてみた。
比較: Alembic を使いましょう。
みんな大好き stackoverflow の記事によると、圧倒的に Alembic を使え、と書いてある。
さらに調べると、この Google Forum のディスカッションに行き着く。
流れとしては、
- SQLAlchemy-migrate が第三者によって作られる。
- メンテする人がいなくなり、 SQLAlchemy の作者(Mike Bayer)がメンテナーみたいな風潮になる
- その Mike Bayer は、自分が考える最強の Migration ツールとして Alembic を作る
実質メンテナーの Mike Bayer が、 SQLAlchemy-migrate は "unmaintained" だと行っているので、基本的にみんな Alembic を使うべき。