💭

宣言的マイグレーション Atlas を3ヶ月ぐらい使ってみて

2025/01/04に公開

懸念していたこと

  • 意図しない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