Pre-deploy review

A new field in the PR does not mean production is ready for it.

A service is about to ship with an extra field in its Drizzle snapshot. Production may also contain a manual correction or a delayed migration. Put the two shapes side by side before deciding whether the deployment should pause.

The release question: The model change is in the release, but nobody can infer the production shape from filenames. Where does it differ? Is that difference expected, or is a migration missing?

Record the comparison before deployment

Capture the production shape you are comparing against

Check the blacklist, then read the full schema. This is the comparison baseline; it also keeps an agent from inferring database fields from a model name.

dbcli blacklist list
dbcli schema --format json

Compare the snapshot to the current database

Give dbcli the supported ORM schema or snapshot and it lists concrete differences. A missing field or changed type can then be traced back to a migration and release record, rather than guessed.

dbcli diff --against-orm ./drizzle/meta/0000_snapshot.json --format markdown

Keep the DDL decision in human review

Bring the report into migration review. dbcli can provide structural evidence and a suggested workflow, but executing DDL still requires explicit authorization and team review.

dbcli skill tasks plan migration-review \
  --param "table=<exact table name>" \
  --param "ddl=<captured dry-run DDL>"