Atlas
DBスキーマのmigrationツール
website
github
Go実装
https://zenn.dev/katonium/articles/atlas-rakuraku-migration
https://zenn.dev/jy8752/articles/bf4bbed1468f6c
prismaとも併用できるらしい
gpt-5.icon
✅ Atlas とは — 概要
Atlas は「データベースのスキーマ (構造) をコードとして管理 (schema as code)」するツール/プラットフォーム。 (atlasgo.io)
従来のように手動で SQL スクリプト (ALTER TABLE や CREATE TABLE など) を大量に書き、それを手で管理・実行する運用ではなく、理想とするスキーマ (状態) を宣言的に記述 (HCL や SQL など) することで、現在の DB スキーマとの 差分 (diff) を自動検出 → マイグレーション (変更) を自動生成/実行できるようになる。 (atlasgo.io)
GitOps/CI-CD ワークフローと親和性が高く、ソースコード管理と同じように「スキーマのバージョン管理」「差分レビュー」「自動適用」が行えるよう設計されている。 (atlasgo.io)
⚙️ 特徴・機能
マルチデータベース対応 — PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, ClickHouse, Amazon Redshift など、多くの一般的な RDB / DB に対応。 (atlasgo.io)
宣言的スキーマ記述 — HCL (Terraform っぽい構文) や SQL などで「理想のスキーマ」を定義可能。これにより、手作業のマイグレーションファイル (DDL スクリプト群) を都度書き換える必要がなくなる。 (atlasgo.io)
マイグレーション diff の自動生成・適用 — スキーマの差分を自動で検出し、安全にマイグレーションを実行できる (たとえば、テーブルの変更、カラム追加/削除、制約追加 など)。 (atlasgo.io)
バージョン管理とワークフロー統合 — Git や CI/CD (GitHub Actions, GitLab CI, ArgoCD, Terraform など) との連携が可能で、インフラやアプリと同様にスキーマ変更をコード管理/レビュー/デプロイのパイプラインに組み込める。 (atlasgo.io)
スキーマの可視化・差分レビュー支援 — ER 図 (テーブル構造図) の生成や、変更差分の表示などで「どこがどう変わるか」を視覚的に把握でき、チーム開発での安全性と透明性が高まる。 (atlasgo.io)
宣言的管理だけでなく従来型のマイグレーション手法 (ファイルベース) の選択肢あり — 必要があれば従来の SQL マイグレーション (バージョン管理された SQL スクリプト) を使うことも可能。 (Zenn)
📈 なぜ使うか/利点
コードベースと同じ感覚でデータベース設計を管理できる — スキーマを “コード” として扱うので、スキーマ変更の履歴管理・レビューが容易。
環境差 (ローカル / 開発 / 本番) のずれ (schema drift) を防げる — 手動スクリプト管理だと、環境毎にずれが生じやすいが、宣言的スキーマ + CI/CD によって整合性を保ちやすい。
マイグレーションの信頼性と安全性が向上 — 差分検出 & 自動生成によって、手ミスや抜け漏れを避けられ、複雑なスキーマ変更も安心して適用できる。
チーム開発・アジャイル開発にマッチ — スキーマ変更を PR (pull request) ベースで管理できるので、コードレビューと同様のワークフローになる。
インフラ as コード (IaC) に近い感覚 — あなたがインフラや型体系に興味があるなら、データベース設計も “コードで管理するインフラ構成の一部” と捉えられる。