bin/magento setup:db:status tells you a database migration is pending and nothing else. On a zero-downtime deploy that is the question that matters, because a schema change usually means the deploy cannot stay online. This module makes the command say which change it is.
I first answered it with a scratch script in Magento 2 DB schema diff in November 2023. A year later I turned it into this module, and announced it in February 2025.
What does setup:db:status -v show?
Every pending declarative schema change, with the before and after of each modified value. A trimmed run against a test table from the README:
Declarative Schema is not up to date
modify_column
tag (varchar column samjuk_cache_debounce)
comment: 'Tag' -> 'Some Tag'
add_column
value_id (int column samjuk_cache_debounce)
create_table
samjuk_cache_debounce_new (table table)
Run 'setup:upgrade' to update your DB schema and data.
The output is grouped by operation, then table, column, index or constraint. -vv adds the raw data diff.
How do I install it?
composer require samjuk/m2-module-verbose-db-status
php bin/magento setup:db:status -v
How does it work?
It asks Magento the same question core does, then prints the answer instead of a yes or no. A DI after-plugin on Magento\Framework\Setup\Declaration\Schema\UpToDateDeclarativeSchema::getNotUpToDateMessage uses Magento’s own SchemaDiff to compare the declared schema with the live database.
Without a verbosity flag, core’s output is unchanged, so existing scripts that parse it keep working.
Where does it fit in a deploy?
CI. Run it against staging and put the verbose output in the pull request or workflow summary, so a reviewer knows before merging whether production needs downtime and why. The maintained reference for finding schema changes and mismatches by hand is the database schema changes docs page.
What does it not do?
- Data and schema patches. It covers declarative schema only.
- Group changes by module.
CI runs PHPStan, PHPCS and unit tests against Magento 2.4.4-p13, 2.4.6-p13, 2.4.7-p8 and 2.4.8-p3. The latest run on master, from 16th July 2026, failed its unit tests on 2.4.8-p3 while the other three passed.