Questions tagged «database»

与Magento的MySQL数据库相关的问题,例如,表架构,简单的SQL查询或数据库配置。对于有关Magento数据库访问层的问题,请使用其他标签,例如:eav,模型,资源模型,集合,安装脚本。特别是对于有关SQL查询的问题,SQL标记也适用。

13
测试后清除Magento
我目前在Magento中进行了大量测试,因此我可以熟悉它。不幸的是,我的测试数据库非常混乱。我希望清理数据库,以便重新开始。这意味着要执行以下操作: 清除所有产品 清除所有属性 清除所有属性集 清除所有类别 清除所有订单,装运,交易等 我在Magento论坛上找到了用于清除产品的帖子,它是以下SQL: SET FOREIGN_KEY_CHECKS = 0; TRUNCATE TABLE `catalog_product_bundle_option`; TRUNCATE TABLE `catalog_product_bundle_option_value`; TRUNCATE TABLE `catalog_product_bundle_selection`; TRUNCATE TABLE `catalog_product_entity_datetime`; TRUNCATE TABLE `catalog_product_entity_decimal`; TRUNCATE TABLE `catalog_product_entity_gallery`; TRUNCATE TABLE `catalog_product_entity_int`; TRUNCATE TABLE `catalog_product_entity_media_gallery`; TRUNCATE TABLE `catalog_product_entity_media_gallery_value`; TRUNCATE TABLE `catalog_product_entity_text`; TRUNCATE TABLE `catalog_product_entity_tier_price`; TRUNCATE TABLE `catalog_product_entity_varchar`; TRUNCATE TABLE `catalog_product_flat_1`; …

7
价格重新编制索引导致结帐时数据库死锁
我遇到了一个问题,我认为产品价格重新索引编制过程在结帐过程中导致了死锁异常。 我在结帐过程中捕获了此异常: 订单转换异常:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现死锁;否则,错误代码为:尝试重新启动事务 不幸的是,由于捕获异常的原因,我没有完整的堆栈跟踪信息,但是通过检查INNODB状态,我能够找到死锁: SELECT `si`.*, `p`.`type_id` FROM `cataloginventory_stock_item` AS `si` INNER JOIN `catalog_product_entity` AS `p` ON p.entity_id=si.product_id WHERE (stock_id=1) AND (product_id IN(47447, 56678)) FOR UPDATE *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page no 329624 n bits 352 index `PRIMARY` of …


5
如何修复mysql错误1031-'catalog_product_relation'的表存储引擎没有此选项?
我正在尝试为我们的Magento商店开发新的开发版本。我进行了El Capitan的全新安装,并用PHP,Mysql(版本5.7.10)等运行apache。我还运行了phpmyadmin并为Magento创建了一个数据库。但是,当我尝试从生产站点导入备份时,出现错误: ERROR 1031 (HY000) at line 291001: Table storage engine for 'catalog_product_relation' doesn't have this option 我尝试使用以下命令通过终端导入.sql文件: mysql -h localhost -u <user> -D <database> -p < <file> 我在这里迷路了。Google退出了一段时间,但找不到解决方案。我正在使用与生产数据库中相同的引擎。 有人有想法么?

2
Magento2:如何升级数据库架构
我正在magento自定义模块上工作,在模块已Setup\InstallSchema.php安装文件之前。我在中添加了更多数据库字段,InstallSchema.php因此我想更新表结构,但表未应用任何更改。 我如何将架构更改应用于数据库表? 我有流程cli命令来更新架构,但没有成功。 php bin/magento setup:db-schema:upgrade 和 php bin/magento setup:upgrade

11
Magento 2-更改默认订单ID的正确方法是什么?
Magento2。全新安装后,新的订单ID将为100000001、100000002,依此类推。 更改该增量ID以便它是一个更大的数字的正确方法是什么?例如155555552、155555553等。更改后,它将看起来更好。 在Magento 1.9中,要编辑订单,发票或货运的默认ID,我们只需更改“ eav_entity_store”中数据库的值即可。 Magento 2看起来是如此不同... 我知道有一些插件可以执行此操作,但是我想知道如何手动执行此操作。

1
1.9.x的Magento ER图
我正在寻找magento 1.9.x的ER图,以便我可以理解magento数据库的流程和表关系。如果有人可以为我提供完全的ER图,那将对我有帮助。就像我看到的一个更好的prestashop图,但是找不到这种magento图。 更新:对于Magento 2.1.3的ER图,检查https://magento.stackexchange.com/a/152061/29175。感谢@AnnaVölkl的努力



3
为什么以及何时使用“平面目录”?
在研究magento网站的速度问题时,我得到了一些链接,人们说可以使“平面目录”提高性能和速度。 问题在于,为什么默认情况下未启用它是速度问题。 会使“平面目录”产生一些不利影响吗? 我的magento网站上有100种产品和500种捆绑产品,由于我一次要加载36种产品,因此速度是一个很大的问题。 启用“平面目录”是否可以解决我的问题?


3
如何以编程方式向Magento中的现有表添加新列?
如何通过安装脚本向现有的Magento核心表添加新列?(不使用纯SQL) 我想使用Magento方法,该方法使用别名方法来创建安装脚本。 到目前为止,我只关注了一些教程。但似乎无法正常工作。Magento安装脚本中的这个StackOverflow ALTER TABLE而不使用SQL答案与我的问题有点相似。但是内容应该放在模块confg.xml文件中吗?我是否只需要定义资源模型,模型和设置数据就足够了? config.xml(我的模块的)相关部分如下。 <config> . . . <global> <models> <mymodule> <class>Mynamespace_Mymodule_Model</class> <resourceModel>mymodule_resource</resourceModel> </mymodule> <mymodule_resource> <class>Mynamespace_Mymodule_Model_Resource</class> </mymodule_resource> </models> <resources> <mymodule_setup> <setup> <module>Mynamespace_Mymodule</module> </setup> <connection> <use>core_setup</use> </connection> </mymodule_setup> <mymodule_read> <connection> <use>core_read</use> </connection> </mymodule_read> <mymodule_write> <connection> <use>core_write</use> </connection> </mymodule_write> </resources> . . . . </config> 我的安装脚本如下。 $installer = $this; $installer->startSetup(); …


1
如何以编程方式向表添加外键?
我试图添加一组新表,并且试图添加外键来链接这些表。我在网上寻找addForeignKey()可以找到有关的信息,但找不到任何东西。 看着Varien_Db_Adapter_Interface::addForeignKey()和Mage_Core_Model_Resource_Setup::getFkName()我想下面的设置我已经得到了正确 ->addForeignKey( $installer->getFkName('namespace_module/shop', 'area_id', 'namespace_module/area','area_id'), $installer->getTable('namespace_module/shop'), 'area_id', $installer->getTable('namespace_module/area'), 'area_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE ) 但是例外说不一样 Zend_Db_Exception Object ( [_previous:Zend_Exception:private] => [message:protected] => Undefined column "shop_locator_shop" [string:Exception:private] => [code:protected] => 0 [file:protected] => /Users/myname/Sites/site/www/lib/Varien/Db/Ddl/Table.php [line:protected] => 450 [trace:Exception:private] => Array ( [0] => Array ( [file] => /Users/myname/Sites/site/www/app/code/local/Namespace/Module/sql/namespace_module_setup/install-0.1.0.php [line] => 110 [function] …

2
安装脚本:创建表与更新现有表
有一个问题,最近我正在开发一个模块,其中数据库中有很多表,概念经常变化,因此需要更改数据库中的现有表,并且我注意到表创建脚本和表升级方面的差异。干得好。查看下面的创建表代码: $table = $installer->getConnection() ->newTable($installer->getTable('module/table')) ->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, 9, array( 'nullable' => false, 'primary' => true, 'identity' => true, 'auto_increment' => true ) ); 在newtable的()的函数返回实例Varien_Db_Ddl_Table 升级表脚本使用不同的方式来新列添加到现有的表,一起来看看: $installer->getConnection() ->addColumn($tableName, 'test', array( 'nullable' => false, 'length' => 9, 'type' => Varien_Db_Ddl_Table::TYPE_INTEGER, 'comment' => 'Test Field' ) ) 这两个addColumn函数是不同的,并且它们是不同类的方法,每当我需要更改语法时,它们会使我感到难过。 所以这是一个问题,有没有办法使用Varien_Db_Ddl_Table类的实例更新现有表?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.