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
magento/magento2-base >=2.4.4 <2.4.7-p5
- Magento Open Source
- 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4
- Adobe Commerce
- 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4
- vendor/magento/framework/Setup/Declaration/Schema/Db/SchemaBuilder.php
