AC-10737: bin/magento setup:db:status命令无法识别JSON数据类型

AC-10737修补程序修复了bin/magento setup:db:status命令无法识别JSON数据类型的问题。 安装Quality Patches Tool (QPT) 1.1.79时,此修补程序可用。 修补程序ID为AC-10737。 请注意,此问题计划在Adobe Commerce 2.4.7-p5中修复。

受影响的产品和版本

为Adobe Commerce版本创建了修补程序:

  • Adobe Commerce(所有部署方法) 2.4.6-p15

与Adobe Commerce版本兼容:

  • Adobe Commerce(所有部署方法) 2.4.4 - 2.4.7-p4
NOTE
该修补程序可能适用于具有新Quality Patches Tool发行版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

bin/magento setup:db:status命令无法识别JSON列类型,并错误地报告声明性架构不是最新的。

重现步骤

  1. 创建一个自定义模块,该模块定义一个在db_schema.xml中具有JSON列的新表,例如:

    code language-none
    <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>
    
  2. 生成模块的白名单:

    code language-none
    bin/magento setup:db-declaration:generate-whitelist --module-name Sample_Module
    
  3. 升级数据库模式:

    code language-none
    bin/magento setup:upgrade
    
  4. 检查声明性架构状态:

    code language-none
    bin/magento setup:db:status
    
  5. 请注意,该命令报告声明性架构不是最新的。

预期的结果

  1. setup:db:status命令报告声明性架构是最新的。

实际结果

  1. 该命令报告声明性架构不是最新的,并显示以下消息:
Declarative Schema is not up to date
Run 'setup:upgrade' to update your DB schema and data.

应用修补程序

要应用单独的修补程序,请根据您的部署方法使用以下链接:

相关阅读

要了解有关Quality Patches Tool的更多信息,请参阅:

recommendation-more-help
commerce-operations-help-tools