【问题标题】:Is there a way to programmatically turn off category or product flat?有没有办法以编程方式关闭类别或产品平面?
【发布时间】:2012-12-13 15:19:42
【问题描述】:

在启用 category_flat 设置的情况下导入产品(和相应的类别)时,我们遇到了违反完整性约束的错误。

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`XXXXXXXXX`.`catalog_category_flat_store_1`, CONSTRAINT `FK_CAT_CTGR_FLAT_STORE_1_ENTT_ID_CAT_CTGR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `catalog_category_entity` (`entity_id`)

有没有办法在导入产品之前以编程方式禁用类别平面表?导入过程后,索引正在刷新。

谢谢!

【问题讨论】:

    标签: php mysql magento import


    【解决方案1】:

    我会试试这个:

    这将在导入前禁用索引,然后重新启用。

    你也可以查看catalog/frontend/flat_catalog_category的配置xpath

    或者,如果您是通过.SQL 文件直接导入,请查看禁用.SQL 文件顶部的外键约束,并在最后重新启用检查。

    还请记住,您可以删除表:catalog_category_flat_store_1,如果需要,索引进程将重新创建它。

    【讨论】:

    • 您好,谢谢您的回答。我们已经实施了您关于索引过程的建议,但这并没有清除包含平面数据的表格。我想您最近建议删除平面表,但我担心删除数据库中的任何表。现在我试一试...
    • 是的,你应该安全地放下桌子。正如 B00MER 所说,这些表是由索引器动态创建的。 _1 是平面表适用的 store_id。
    • 感谢大家的回答!删除或截断表会导致错误,因为只要配置 xpath "catalog/frontend/flat_catalog_category" 设置为 1,产品导入就会尝试写入此表。@B00MER,您的第二个建议对我有用。
    猜你喜欢
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多