我正在尝试通过 db_schema.xml 在 Magento 2.3 中创建外键,以创建对CMS块的引用。
db_schema.xml
<column comment="Bottom CMS block Id" name="bottom_cms_block_id" xsi:type="int" padding="10" unsigned="true" nullable="true"/>
<constraint xsi:type="foreign" referenceId="..."
table="..." column="bottom_cms_block_id"
referenceTable="cms_block" referenceColumn="block_id"
onDelete="SET NULL"/>
运行 magento setup:upgrade 会出现此错误,并停止升级:
参考表cms_block中的参考列block_id没有 索引
我在 vendor / magento / module-cms / etc / db_schema.xml:39
中发现了几乎相同的代码<column xsi:type="smallint" name="block_id" padding="6" unsigned="false" nullable="false" identity="false"/>
<constraint xsi:type="foreign" referenceId="CMS_BLOCK_STORE_BLOCK_ID_CMS_BLOCK_BLOCK_ID" table="cms_block_store" column="block_id" referenceTable="cms_block" referenceColumn="block_id" onDelete="CASCADE"/>
差异/问题在哪里?
谢谢