💭
宣言的マイグレーション Atlas を3ヶ月ぐらい使ってみて
懸念していたこと
- 意図しないalter文が実行されてしまうのではないか
- 運用上詰むことがあるんじゃないか
使ってみて
- 全く困らない
- 困ったことがない
- 特に開発中は無駄にマイグレーションファイルが増えていくことがなくなり、良い
- terraformのdatabaseバージョンという感じ
- でも本番運用はこれからで、downが必要な時に困るかもしれないが困る気がしない
- そもそもmigrationのdownは怖いのであまりやるつもりが無い
どう使っているのか
- CI
- GitHub ActionsでまっさらなDBにatlas schema applyを実行してチェック
- CD
- GitHub ActionsでMigrationを行うJobを実行
- terraformのように plan -> apply で実行したが、それは対応していない
- できないことはなさそうだが有料プランが必要になりそう
- SQL文で書いてる
- 独自のSyntaxでテーブルを定義することもできるが、SQLで書いてる
- めっちゃいい
その他
GolangのMigrationツールに決定版がない印象だったが、次からはAtlas使おうと思う。言語問わず使えるためフレームワークがマイグレーションを用意していない場合は有力候補に入れていきたい。
有料プランじゃ無いと使えない機能があるが、十分である。儲かっているプロダクトなら有料化して使いたい。
Discussion