【发布时间】:2014-10-30 22:31:05
【问题描述】:
背景
我一直在进行一些自定义模块开发(在社区文件夹中)并且取得了很大进展。我的设置脚本创建了许多新的 Magento 实体(及其数据库表)和一些自定义属性。
我正在处理前端产品视图自定义(从我的自定义实体数据库表中提取一些信息)并且需要创建一些新产品进行测试。 当我去创建(特别是保存)一个新产品时,我得到的只是一个空白的白页。
所以,我检查了 System.log:
User Error: Some transactions have not been committed or rolled back
没有例外,所以我启用了 MySql 日志记录,并得到了一些符合以下要求的内容:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XXXXXX.catalog_category_flat_store_1
This StackOverflow post addresses this error ... kind of
迄今为止的努力
由于我的模块创建了一些数据库表(并向它们添加了一些索引),我想我一定是做错了什么,破坏了 Magento 的索引。所以,我安装了一个全新的 Magento 实例 ==> 没问题;我可以很好地创建/编辑产品。
接下来,我安装了我的模块但注释掉了我所有的 install-0.0.1.php(阅读:NO DATABASE MANIPULATION),除了startSetup() 和endSetup()——我的计划是逐表查看Some transactions have not been committed or rolled back 错误何时再次出现。
然而,令我惊讶的是,即使我的模块的 setup.php 没有触及数据库,产品创建/编辑问题立即再次出现。
因此,在工作和不工作之间发生的唯一变化是我的模块的安装,但我的模块没有触及 Magento 的数据库。
问题
- 我的模块可能会做什么来破坏 Magento 的索引?
- 还有哪些其他问题可能导致此问题?
非常感谢您的任何帮助或想法!
【问题讨论】:
标签: php mysql sql database magento