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列类型,并错误地报告声明性架构不是最新的。
重现步骤:
-
创建一个自定义模块,该模块定义一个在
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> -
生成模块的白名单:
code language-none bin/magento setup:db-declaration:generate-whitelist --module-name Sample_Module -
升级数据库模式:
code language-none bin/magento setup:upgrade -
检查声明性架构状态:
code language-none bin/magento setup:db:status -
请注意,该命令报告声明性架构不是最新的。
预期的结果:
setup:db:status命令报告声明性架构是最新的。
实际结果:
- 该命令报告声明性架构不是最新的,并显示以下消息:
Declarative Schema is not up to date
Run 'setup:upgrade' to update your DB schema and data.
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- Adobe Commerce或Magento Open Source内部部署: Quality Patches Tool指南中的Quality Patches Tool >使用情况。
- 云基础架构上的Adobe Commerce:云基础架构上的Commerce指南中的升级和修补程序>应用修补程序。
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅:
recommendation-more-help
commerce-operations-help-tools