QUALITY PATCH

AC-10737: The bin/magento setup:db:status command does not recognize JSON column types…

The bin/magento setup:db:status command does not recognize JSON column types and incorrectly reports that the declarative schema is not up to date. Quality patch AC-10737 for magento/framework applies to Magento Open Source and Adobe Commerce 2.4.4 to 2.4.7-p4.

Categories
Other
Components
magento/framework
Origin
adobe-commerce-support
Since QPT
1.1.79

Issue

The bin/magento setup:db:status command does not recognize JSON column types and incorrectly reports that the declarative schema is not up to date.

Steps to reproduce

1. Create a custom module that defines a new table with a JSON column in db_schema.xml, for example: <table name="example_table" engine="innodb" resource="default"> <column xsi:type="int" name="entity_id" identity="true" nullable="false" unsigned="true"/> <column xsi:type="json" name="content" nullable="false"/> <constraint referenceId="PRIMARY" xsi:type="primary"> <column name="feed_missing_id"/> </constraint> </table> 1. Generate the whitelist for the module: bin/magento setup:db-declaration:generate-whitelist --module-name Sample_Module 1. Upgrade the database schema: bin/magento setup:upgrade 1. Check the declarative schema status: bin/magento setup:db:status 1. Observe that the command reports the declarative schema as not up to date.

Adobe's page lists 2.4.4 - 2.4.7-p4 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.

Adobe scheduled the permanent fix for 2.4.7-p5.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply AC-10737. On Cloud, add AC-10737 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its AC-10737/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (1): magento/framework
Packages across compatible versions (1): magento/framework

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.