What is schema drift in plain terms?
Schema drift is when your application's idea of the database (your Prisma or Drizzle schema file, your migration history, your ORM model definitions) and the actual live database disagree. The drift is usually invisible until a deploy or a migration silently rewrites one side to match the other and breaks production. It is one of the most common 'how did this even happen' bugs in modern app stacks.
How does schema drift differ from a migration conflict?
A migration conflict happens at apply time and the migration tool refuses to run. Drift is the opposite: nothing fails. The DB is in state A, the code thinks it is in state B, and queries run, sometimes returning wrong data, sometimes corrupting on write. Drift survives PR review because it is not in the diff. You only see it in the next incident.
Why do Prisma migrate and Drizzle Kit miss drift?
Prisma migrate has a drift detector but it produces false positives on edge cases like partial indexes, custom collations, and PostGIS types, so teams often ignore its warnings. Drizzle Kit does not have a built-in drift detector at all as of mid 2026. Both tools are migration-first: they assume the schema file is the source of truth and rewrite the DB to match, which makes drift dangerous (the rewrite is silent) rather than visible.
What kinds of drift does QueryDeck Drift Mode catch?
Today: missing or extra columns, column type drift (including TIMESTAMP vs TIMESTAMPTZ), nullable mismatches, default value drift, missing or extra simple indexes, missing or extra foreign keys, enum type drift. Six ORMs supported (Drizzle, Prisma, TypeORM, Django, ActiveRecord, Eloquent). Not yet: functional indexes, check constraints, triggers, generated columns, custom types like PostGIS. The CLI version covers a wider tool surface than Drift Mode.
Does Drift Mode run in CI or only locally?
Both. The qdeck CLI ships with the QueryDeck app and can run in CI (GitHub Actions, GitLab CI, anywhere bash runs) to fail a PR on drift. The Drift Mode panel in the app gives you the same checks interactively while you work. Most teams run both: CI as the gate, app as the daily catch.
What databases is Drift Mode available on?
PostgreSQL, MySQL, and SQLite at launch. MongoDB and Redis do not have a traditional schema, so Drift Mode does not apply (QueryDeck still gives you collection and key introspection for those). All five engines work with the rest of QueryDeck: the SQL editor, MCP server, ERD generator.