Why Atlas?

When you change your database schema in code — adding a column, renaming a table — something needs to compare your code to the actual database and apply the difference. That something is Atlas.

What Atlas does

Atlas reads your Drizzle schema, compares it to your current database, and shows you the exact SQL it will run. You review it, confirm, and Atlas applies it. One command:

?What is SQL?
atlas schema apply --env dev

This is declarative migration — you describe what the database should look like, and Atlas figures out how to get there. No migration files to manage, no numbered scripts piling up. Your schema code is the single source of truth.

Why not Drizzle Kit's push?

Drizzle has its own drizzle-kit push command. It works — but it's too basic for real use:

  • No review step. drizzle-kit push applies changes immediately. You never see the SQL before it runs. Atlas shows you the exact statements and waits for your confirmation.
  • No safety checks. Atlas warns you before destructive changes — like dropping a column that still has data. Drizzle Kit doesn't.
  • Smarter diffs. Drizzle Kit sometimes generates unnecessary drops and recreates for simple changes. Atlas understands SQLite's limitations and generates the minimal, correct SQL.

For a beginner project, either tool gets you started. But Atlas catches mistakes that would silently break things — and that matters more as your app grows.

?Why Drizzle ORM?