Slide 10
Slide 10 text
© NTT Communications Corporation All Rights Reserved. 10
検討したツール・方法の比較
• Atlas( https://github.com/ariga/atlas )
• 特徴
• Githubのスター数は、golang-migrateと比較して少ない(2024/11/15時点で6K)
• というかそもそもメジャーバージョンが出ていない(2024/11/15時点での最新版は v0.28.2-fcddac3-canary )
• 他の様々なDBマイグレツールと組み合わせて使用することもできる(ent , golang-migrate , goose , etc. )
• 従来までのバージョンによるマイグレーション管理だけでなくDBの理想状態を宣言的に記述することでもスキーマを反映する
ことができ、宣言ファイルを見るだけで現在のDBの構造をある程度把握できる
• マイグレーションのためのSQL文も自動で生成してくれる
• マイグレ実行の機能だけでなく、マイグレーションファイルを検証して破壊的な変更やデータ依存の変更がないか検査してくれ
るlint機能などの便利な機能も提供されている
• https://atlasgo.io/lint/analyzers
• 色々な機能が提供されているが、 Atlas CloudというSaaSにProプラン以上の契約をしないと使えない機能(Test機能など)も存在し、
すべて無料で使えるというわけではない
• https://atlasgo.io/features#feature-availability
• ツールの特性のせいかロールバック手順が複雑
総評
マイグレーションツールとしての機能だけでなく、その他便利な機能が実装されている
複雑で大規模なDB向けのツールといった印象