Features

ORM Cockpit in Dora

See exactly how your code schema has drifted from the live database — then generate the migration that reconciles them, with destructive changes flagged and gated.

apps/web/db·drizzleRefreshGenerate migration
Schema drift4 changes
+users.last_loginadd nullable · timestamptzsafe
+orders.idx_statusadd indexsafe
~posts.statusvarchar(20) → textreview
sessions.legacy_tokendrop columndestructive
Migration preview · postgres
ALTER TABLE "users" ADD COLUMN "last_login" timestamptz;
CREATE INDEX "idx_status" ON "orders" ("status");
ALTER TABLE "posts" ALTER COLUMN "status" TYPE text;
 
-- ⚠ destructive · review before running
-- ALTER TABLE "sessions" DROP COLUMN "legacy_token";
ORM Cockpit diffing a Drizzle/Prisma schema against the live database and previewing a migration

The ORM Cockpit links a project folder, detects whether it uses Drizzle or Prisma, and parses the schema directly — no codegen, no generated client, and no Node runtime to manage. It then introspects the database you are connected to and compares the two, table by table and column by column.

Every change in the drift is graded by confidence. Adding a nullable column or an index is safe; a lossy type change is flagged for review; dropping a table or column is marked destructive. You can read the whole diff before deciding anything.

When you generate a migration, Dora emits dialect-correct SQL for Postgres, MySQL, or SQLite, with destructive operations commented out behind an explicit opt-in. Nothing is applied from the cockpit: the SQL hands off to the SQL console, where Dora’s normal production guardrails apply.

What you get

  • Link a Drizzle or Prisma project — schema parsed in place, no codegen
  • Live-database introspection diffed against your code schema
  • Every change graded safe, review, or destructive
  • Dialect-correct migration SQL for Postgres, MySQL & SQLite
  • Destructive operations commented out and gated behind opt-in
  • Preview-only — generated SQL hands off to the SQL console