Step-by-step Atlas walkthroughs
Database-specific Atlas guides
Wire Atlas into your pipeline
Integrate Atlas with any ORM
Roles, permissions, and policies as code
Lookup tables and reference data
Run via the Atlas Operator
Manage schemas via Terraform
End-to-end control and compliance
Block drift before and after deploys
Safe schema changes at machine speed
Apply modern CI/CD to schema changes
One migration tool to rule them all
Manage thousands of databases as one
Define roles, permissions, and schema policies as code. Enforce them in CI/CD, audit every change, and detect drift across environments.
Database governance is the set of controls that decide who can change a database, which changes are allowed, and how each change is reviewed and recorded. Atlas enforces all six from one declarative source.
Roles, users, permissions, and row-level security policies are declared as code and applied like any other schema change.
Security as CodeCustom rules assert conventions and compliance requirements over every object in the schema: naming, required columns, RLS, view and function security.
Custom Schema PolicyBuilt-in analyzers flag destructive changes, table locks, and backward-incompatible statements while the change is still a pull request.
Migration AnalyzersEvery schema and permission change lands as a reviewed pull request, with the plan and the lint report posted back as a PR comment.
CI/CD SetupPer-environment policy decides which changes are allowed, what has to pass first, and which environment must already be current.
Project ConfigurationContinuous monitoring compares live databases against their declared state and keeps a history of who changed what, when, and from which deployment.
Drift DetectionAccess control, schema policies, migration safety, environment promotion. The requirements are clear, but in practice each is managed through a different tool, team, ad-hoc process, or non-deterministic AI suggestion with no guaranteed enforcement.
No policy engine configured
Atlas lets you define database roles, users, and permissions as code. Reviewed in PRs, deployed through CI/CD, tracked in Git, and enforced with policies. The same workflows used for schema management now apply to access control.
1role "app_readonly" {2 comment = "Read-only application access"3}4
5role "app_writer" {6 member_of = [role.app_readonly]7}8
9role "app_admin" {10 create_db = true11 create_role = true12 member_of = [role.app_writer]13}Define rules for schemas, migrations, and permissions in code. Atlas enforces them in CI. No unsafe changes reach production without explicit approval.
Every migration goes through a reviewed, gated lifecycle before it reaches production. No change skips staging, no artifact is modified after approval.
Even with policies in place, databases drift from their declared state. Atlas continuously monitors your databases, detects deviations, and notifies your team with single-command remediation.
Production database schema differs from main branch.
Three steps, no schema rewrite. Atlas reads the databases you already have, and the policy you declare starts gating changes on the next pull request.
One env block per real environment, plus the rule files that environment is held to. Planning and linting run against an ephemeral dev database, never against your targets.
Rules assert conditions over schema objects. This one requires row-level security on every table; the same shape covers naming conventions, required columns, and role and permission rules.
atlas schema lint reports every violation in the schema, so you know where you stand before turning anything on. In CI, atlas migrate lint reports only what the change introduces, so the gate blocks new violations without failing on the backlog.