Atlas
A schema-as-code tool, “Terraform for databases”: you describe the schema you want in SQL, HCL or ORM models, and Atlas plans, lints, tests and applies the migrations to get there.
- What it is
- Database clients and design tools
- Used for
- Infrastructure as code
- Type
- Commercial product
- Made by
- Ariga Technologies
- License
- Open core: Community Edition is Apache 2.0; the standard binary adds proprietary features under the Atlas MSA, some of them paid (Atlas Pro)
- Facts checked
- 23 October 2026
What it is
Atlas manages a database schema the way Terraform manages infrastructure. You write the desired schema as SQL, as Atlas HCL, or let Atlas read it from your ORM: it has loaders for 16 ORMs in six languages, including GORM and Ent in Go, Prisma, Drizzle and TypeORM in TypeScript, Django and SQLAlchemy in Python, Hibernate, EF Core and Doctrine. Atlas then inspects the target database, computes the difference, and plans the DDL. To understand the schema exactly as the database would, it applies it to a throwaway “dev database”, often a container started from a URL such as docker://postgres/16/dev.
It supports two workflows. In the declarative one, atlas schema apply moves a database straight to the desired state, like terraform apply. In the versioned one, atlas migrate diff writes the next migration file into a folder, and atlas migrate apply runs the files not yet applied. Either way, more than 50 analyzers lint the plan for dropped tables or columns, changes that fail on existing data such as a NOT NULL column without a default, and locks or table rewrites that would block a busy table. It also tests functions, views and triggers from .test.hcl files, and manages roles, permissions and row-level security policies as code.
Atlas is written in Go. It supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, ClickHouse, Redshift, Oracle, Snowflake, CockroachDB, TiDB, Databricks, Spanner, Aurora DSQL and Azure Fabric, and runs from the CLI, GitHub Actions and other CI systems, a Kubernetes operator, a Terraform provider or a Go SDK. The free Starter tier covers MySQL, MariaDB, PostgreSQL and SQLite with basic features; Pro starts at $9 per developer a month, plus $59 a month per CI/CD project and $39 per monitored database, and adds all databases, linting in CI, drift detection, schema monitoring and audit trails in Atlas Cloud. The latest release is 1.3.0 (August 2, 2026).
Why teams pick it
- Plans migrations for you from the desired schema, in either a declarative or a versioned workflow
- Migration linting that knows each database: destructive changes, data-dependent changes, locks and rewrites
- Reads schemas from many ORMs, so teams keep using their models as the source of truth
- Fits infrastructure pipelines: Terraform provider, Kubernetes operator, CI actions and IAM authentication to RDS and Cloud SQL
Watch out for
- Open core: the Apache 2.0 Community Edition lacks linting, testing, views, triggers, functions and drivers such as SQL Server, ClickHouse and Oracle, which are in the free-to-download but proprietary standard binary
- Many features need
atlas loginand a paid Pro plan, priced per developer, per pipeline and per monitored database - Planning needs a dev database of the same engine, usually a Docker container, available wherever Atlas runs
- An automatically planned migration still needs review: a rename can look like a drop and an add, and lint catches only what its analyzers know
Alternatives
What all database clients and design tools have in common →Compare side by side →
ChartDBDormantOpen sourceAn open-source, browser-based ER diagram editor that builds a diagram from the JSON output of one query you run yourself, so it never needs a database password, and can export the schema as DDL for another database.
DB PilotCommercialA Mac database client that combines a table browser, a SQL editor and SQL-plus-Python notebooks with an AI assistant, and embeds DuckDB and chDB for querying local files.
DBSnapperCommercialA command-line agent and cloud service that dumps a PostgreSQL or MySQL database, cuts it down to a related subset, masks sensitive columns with your SQL, and shares the result with developers as a snapshot they can load locally.How it fits with other technologies
What Atlas uses
- Atlasplans and applies schema changes toPostgreSQL
- Atlasplans and applies schema changes toMySQL
- Atlasplans and applies schema changes toClickHouse
- Atlasplans and applies schema changes toSnowflake
- Atlasstarts throwaway dev databases withDocker
- Atlashas a provider forTerraform
- Atlasapplies migrations through an operator onKubernetes
- Atlaslints and applies migrations inGitHub Actions
- Atlascan read the desired schema fromPrisma ORM
- Atlascan read the desired schema fromDrizzle ORM
- Atlascan read the desired schema fromSQLAlchemy
- Atlascan read the desired schema fromHibernate ORM
- Atlascan read the desired schema fromEntity Framework Core
- Atlasis written inGo
What uses Atlas
Declarative and versioned workflows · bash
# see what the database looks like now
atlas schema inspect -u "postgres://localhost:5432/mydb"
# declarative: move the database straight to schema.hcl
atlas schema apply \
--url "postgres://localhost:5432/mydb" \
--to file://schema.hcl \
--dev-url "docker://postgres/16/dev"
# versioned: write the next migration file, lint it, apply it
atlas migrate diff add_discount --to file://schema.sql --dev-url "docker://postgres/16/dev"
atlas migrate lint --dev-url "docker://postgres/16/dev"
atlas migrate apply --url "postgres://localhost:5432/mydb"See it in a real stack
No architecture uses Atlas yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2019–2026
Ariel Mashraki joined Facebook’s Connectivity team in Tel Aviv in 2018 and wrote Ent, a graph-based ORM for Go, which Facebook open-sourced in October 2019 and which later moved to the Linux Foundation. The creators of Ent went on to found Ariga, with Mashraki as CEO and Rotem Tamir as co-founder, to build database tooling. On November 25, 2021 Ariga open-sourced the Atlas CLI, describing schemas in HCL, “similar to Terraform”, and arguing that managing database schemas needed the kind of machine-readable definitions that Chef, Puppet and Terraform had brought to infrastructure.
On June 1, 2023 Ariga announced it had raised $18 million from Tiger Global and TLV Partners. Atlas grew from a declarative tool into one that also plans versioned migration files, reads ORM models, lints, tests and monitors schemas, and added commercial databases such as Oracle, Snowflake and Databricks. The project follows an open-core model: the Apache 2.0 Community Edition is built from the public repository, while the standard binary adds proprietary features. Atlas 1.0 came out on December 23, 2025, which its team said reflected a tool that had been production-ready for years.
Why it’s built this way
- Desired state instead of hand-written steps
- Writing migration files by hand is slow and error-prone. Describing the target and letting the tool compute the difference is how Terraform made infrastructure changes reviewable, and Ariga applied the same idea to schemas.
- Normalize through a real dev database
- Databases store a schema in a canonical form that differs from how people write it, and parsing alone can’t tell whether every expression is valid. Running the desired schema through a scratch instance of the same engine validates it and lets Atlas compare normalized forms, so it doesn’t propose needless changes.
- Lint every migration before it runs
- A migration that drops a column or locks a large table can take an application down. Static checks in CI catch those changes during code review, the way a linter does for code.
- Open core
- The core engine stays Apache 2.0 so anyone can use and embed it, while features for teams, more databases and the cloud service pay for development.
Timeline
- 2019
Ariel Mashraki’s Ent ORM open-sourced by Facebook (October 3)
- 2021
Ariga open-sources the Atlas CLI; version 0.1.0 (November 25)
- 2023
Ariga announces $18 million from Tiger Global and TLV Partners (June 1)
- 2025
Atlas 1.0 (December 23)
- 2026
Atlas 1.1 adds database security as code (February 3); 1.2 (April 9); 1.3 (July 30)
- Ent blog: Introducing ent (Oct 3, 2019, Ariel Mashraki)
- Atlas blog: Meet Atlas CLI (Nov 25, 2021)
- Atlas blog: Ariga raises $18M (Jun 1, 2023)
- Atlas blog: Atlas v1.0 (Dec 23, 2025)
- Atlas: About (founders, Ent, open core, funding)
- Atlas blog: archive (v1.1 Feb 3, v1.2 Apr 9, v1.3 Jul 30, 2026)
- ariga/atlas on GitHub: releases
Sources7 · facts checked 23 October 2026
- ariga/atlas on GitHub: README (workflows, databases, ORMs, analyzers, testing, security as code, integrations)
- Atlas: home page (Terraform for databases, Atlas Cloud)
- Atlas docs: Community Edition (Apache 2.0, missing features)
- Atlas: Pricing (Starter, Pro, Enterprise)
- Atlas docs: Dev database (validation, normalization, docker:// URLs)
- Atlas: About (open core)
- ariga/atlas on GitHub: release v1.3.0 (Aug 2, 2026)