Questions tagged «database»

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

5
将生产数据库转换为测试数据
测试离生产越近,可以更好地模拟生产行为。我想将数据库备份从生产环境复制到我们的测试环境中,但是我需要更改什么才能使测试有效,并避免干扰生产或意外向真实客户发送电子邮件(除了设置web/%secure/base_url测试URL)? 思考此问题的另一种方法是考虑如何从我自己的生产数据中生成诸如Magento样本数据之类的数据。
15 database 

1
Magento后端404,适用于除两个“网站”配置范围以外的所有范围
在我们的Multisitesite / Multistore(view)Magento 1.9.2.2配置中,必须删除其中一个网站,包括store和storeview。 尽管删除本身进行得很好(我之前已经做过),但如果您将“当前配置范围”更改为除两个网站以外的任何网站,我都会得到一个404的后端。 选择一个新的配置范围会导致请求以下URL(更改了管理路径+密钥): /index.php/mymageadmin/system_config/edit/section/dev/website/<WEBSITE>/key/1221231/ 其中<WEBSITE>等于表中的code字段core_website。 使用mysql查询登录后,我看到可以成功加载的两个网站在选择网站/商店视图方面具有以下查询: SELECT `main_table`.* FROM `core_config_data` AS `main_table` WHERE (`scope` = 'websites') AND (`scope_id` = '4') AND (`path` LIKE 'dev/%') SELECT `core_website`.* FROM `core_website` WHERE (`core_website`.`code`='working_store_code') 其他提供404的网站以相同的第一个查询开始-但是当然有不同的scope_id,但是在第二个查询中,Magento认为它必须寻找一个范围storeview而不是website!它实际上似乎尝试了两次。 SELECT `main_table`.* FROM `core_config_data` AS `main_table` WHERE (`scope` = 'websites') AND (`scope_id` = '3') AND (`path` …

1
如何在Magento EE 1.12中使用数据库作为slow_backend而不是文件?
在Magento EE 1.12.0.0中,无论我对什么配置进行更改,似乎都将app/etc/local.xml继续使用默认文件缓存(通过var/cache/始终填充来证明)。 期望 Memcached用作fast_backend。 数据库用作slow_backend。 根本不使用文件缓存(即var/cache/应始终为空)。 实际产量 Memcached用作fast_backend。 根本不使用数据库。 正在使用文件缓存。 测试程序 将配置更改为app/etc/local.xml。 重新启动Memcached和Apache(出于很好的考虑,它在我的本地dev框中,所以我也可以)。 清除文件缓存(rm -rf var/cache/*)。 刷新首页。 检查文件缓存的内容(ls var/cache)。 感到难过,并通过其他配置更改返回到#1。 配置 我的内容app/etc/local.xml如下: <config> <global> <install> <date><![CDATA[{{actual_data}}]]></date> </install> <crypt> <key><![CDATA[{{actual_data}}]]></key> </crypt> <disable_local_modules>false</disable_local_modules> <resources> <db> <table_prefix><![CDATA[]]></table_prefix> </db> <default_setup> <connection> <host><![CDATA[{{actual_data}}]]></host> <username><![CDATA[{{actual_data}}]]></username> <password><![CDATA[{{actual_data}}]]></password> <dbname><![CDATA[{{actual_data}}]]></dbname> <initStatements><![CDATA[SET NAMES utf8]]></initStatements> <model><![CDATA[mysql4]]></model> <type><![CDATA[pdo_mysql]]></type> <pdoType><![CDATA[]]></pdoType> <active>1</active> </connection> …

5
Magento MySQL已消失错误
我在Magento CE 1.7.0.2上遇到了很多奇怪的问题。在正常操作期间,该站点有时会在前端和后端产生Magento错误页面(处理您的请求时出错)。查看关联的报告,我看到以下消息: "SQLSTATE[HY000] [2006] MySQL server has gone away" 有时(但很少)报告消息将显示为: Connection reset by peer 我查看了var> log> system.log,该MySQL has gone away错误伴随以下内容: Warning: PDO::__construct(): MySQL server has gone away in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129 Error while reading greeting packet. PID=1863 in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129 除此之外,每个请求以及这些MySQL has gone away错误似乎都发生以下错误: Warning: include(File.php): …

2
如何在magento 2中保存图像自定义属性
我需要根据条件在前端显示少量产品图像:应该检查虚拟镜像的使用情况。 <?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Dcw\Vm\Observer; use Magento\Framework\Event\ObserverInterface; class ChangeTemplateObserver extends \Magento\ProductVideo\Observer\ChangeTemplateObserver { /** * @param mixed $observer * @SuppressWarnings(PHPMD.UnusedFormalParameter) * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { $observer->getBlock()->setTemplate('Dcw_Vm::helper/gallery.phtml'); } } 模板: <div class="admin__field field-image-vm"> …

1
将varchar列添加到订单地址
我正在尝试将一些varchar字段添加到sales / order_address表中,但是遇到列定义错误。 我有以下代码: $oInstaller->getConnection() ->addColumn( $oInstaller->getTable('sales/order_address'), 'address_email', array( 'nullable' => false, 'length' => 255, 'type' => Varien_Db_Ddl_Table::TYPE_VARCHAR, 'comment' => 'Company Email Address' ) ); 这将返回错误: [message:protected] => Invalid column definition data 如果我更改要使用的代码,Varien_Db_Ddl_Table::TYPE_INTEGER则代码将运行并添加该列。我试图删除长度和可为空的属性,但无济于事。 编辑 当更新脚本时,如下更新脚本,它将起作用。有人知道导致此错误的原因吗? $oInstaller->getConnection() ->addColumn( $oInstaller->getTable('sales/order_address'), 'address_email', Varien_Db_Ddl_Table::TYPE_VARCHAR . '(255)' );

4
Magento2 InstallSchema.php不会创建指定的表
我有一个InstallSchema.php,只是没有在数据库中创建必要的表。模式的代码如下所示: <?php namespace MyVendor\Helpdesk\Setup; use Magento\Framework\Setup\InstallSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\SchemaSetupInterface; /** * @codeCoverageIgnore */ class InstallSchema implements InstallSchemaInterface { public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); $table = $installer->getConnection() ->newTable($installer->getTable('myvendor_helpdesk_ticket')) ->addColumn( 'ticket_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], …

1
Magento 2:`resources.xml`文件用于什么?
在Magento 2中,模块可能具有的XML配置文件之一是resources.xmlfile。例如,销售模块有一个 #File: vendor/magento/module-sales/etc/resources.xml <?xml version="1.0" encoding="UTF-8"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/resources.xsd"> <resource name="sales_setup" extends="core_setup" /> <resource name="sales" extends="core" /> </config> 有谁知道这些文件在Magento 2中的用途是什么?它们似乎是旧的Magento 1顶级<resources/>节点。然而,由于Magento的不再使用设置资源模型/迁移(相反在Magento的2使用类Setup/InstallSchema.php,Setup/InstallData.php,Setup/UpgradeSchema.php,Setup/UpgradeData.php用于安装/迁移样脚本),它不是100%清除哪些sales_setup资源是。 对于非设置资源,这是否是添加具有不同凭据/连接字符串信息的数据库连接类的另一种方法?或者是其他东西?

4
如何通过数据库删除重复的SKU?
尝试通过管理员编辑和保存一些Magento产品时出现此错误:“ 属性“ SKU”的值必须是唯一的。“ 当我在Magento管理员中查看我的产品时,找不到重复的sku,但是当我运行产品导出时,实际上实际上有些产品具有相同的sku。从理论上讲,Magento绝对不应该允许这种情况发生,但是,las,我要处理的是相当大且成熟(3岁以上)的产品组,这些产品似乎带有以前的Magento错误和怪癖。 我猜想解决此问题的唯一方法是从数据库中手动删除重复的草图之一,但是我不确定执行此操作的最佳/最安全方法。我有0位使用数据库的经验,所以能提供任何帮助。

1
Magento数据库升级是否通过“交​​易”进行?
我们有这个问题的atm: 客户将其商店从CE 1.4升级到CE 1.8。在我们的开发机器上,文件升级进展顺利,数据库升级也进展顺利。 当我们尝试在客户端的实时计算机上升级客户端的实时数据库(将1.8-Magento连接到数据库并在浏览器中打开它)时,该过程似乎运行了一段时间,并以500错误结束。 PHP错误日志为空;由于它是共享主机,因此我们无法更改apache或mysql设置;主机托管者尽管“专门的im magento托管”,但不愿意更改设置,并告诉我可以通过在出现500错误时重复刷新浏览器窗口来完成数据库升级,因为magento随后将以较小的步骤进行升级。这可能会持续几个小时。 我现在的问题是: -这是真的吗?我认为数据库升级的sql语句将包装在事务中,因此如果出现任何问题,它们可以回滚。 -答案是否可以暗示我可以在代码中查找该问题的答案? 谢谢你的时间!

2
Magento数据库图
我为Magento数据库表找到了一个很棒的图表,但是,我想知道它是否仍然是最新的。我正在运行Magento 1.9。它于2009年发布,此后已经推出了多个Magento更新。我希望数据库结构仍然相对相同。我想先得到确认,然后再将其发送到打印机以获取大量副本。 图表:MAGENTO_v1.3.2.4-Database_Diagram.pdf 另外,有人知道在哪里可以找到表定义吗?与该图一起使用将是一个很好的参考。


5
得到此错误消息:dbModel读取资源未实现Zend_Db_Adapter_Abstract
我把我的magento项目放在Linux服务器上。首先显示错误日志消息,但是缺少文件夹var。然后,我创建了var文件夹,并赋予它777权限,并与缓存,报告,会话相同。在报告文件夹的错误文件中,我收到以下消息: a:5:{i:0;s:65:"dbModel read resource does not implement Zend_Db_Adapter_Abstract";i:1;s:3543:"#0 /home/myfolder/public_html/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(134): Varien_Data_Collection_Db->setConnection(false) #1 /public_html/app/code/core/Mage/Core/Model/Config.php(1348): Mage_Core_Model_Resource_Db_Collection_Abstract->__construct(Object(MKleine_LanguageRoutes_Model_Resource_Languageroute)) #2 /public_html/app/code/core/Mage/Core/Model/Config.php(1380): Mage_Core_Model_Config->getModelInstance('mk_languagerout...', Object(MKleine_LanguageRoutes_Model_Resource_Languageroute)) #3 /public_html/app/Mage.php(491): Mage_Core_Model_Config->getResourceModelInstance('mk_languagerout...', Object(MKleine_LanguageRoutes_Model_Resource_Languageroute)) #4 /public_html/app/code/core/Mage/Core/Model/Abstract.php(208): Mage::getResourceModel('mk_languagerout...', Object(MKleine_LanguageRoutes_Model_Resource_Languageroute)) #5 /public_html/app/code/core/Mage/Core/Model/Abstract.php(213): Mage_Core_Model_Abstract->getResourceCollection() #6 /public_html/app/code/community/MKleine/LanguageRoutes/Model/Translation.php(150): Mage_Core_Model_Abstract->getCollection() #7 /public_html/app/code/community/MKleine/LanguageRoutes/Model/Translation.php(129): MKleine_LanguageRoutes_Model_Translation->getRouteCollection(1) #8 /public_html/app/code/community/MKleine/LanguageRoutes/Model/Translation.php(91): MKleine_LanguageRoutes_Model_Translation->translateToFront('install', 1) #9 /public_html/app/code/community/MKleine/LanguageRoutes/Model/Core/Url.php(75): MKleine_LanguageRoutes_Model_Translation->translateRouteToFront('install') #10 /public_html/app/code/core/Mage/Core/Model/Url.php(398): MKleine_LanguageRoutes_Model_Core_Url->getRouteFrontName() #11 /public_html/app/code/core/Mage/Core/Model/Url.php(763): Mage_Core_Model_Url->getBaseUrl() #12 /public_html/app/code/core/Mage/Core/Model/Url.php(995): Mage_Core_Model_Url->getRouteUrl('install', …
11 database  error 

3
Magento2 InstallSchema将新列添加到现有表
我正在尝试向magento2中的现有表添加新列 <?php namespace Vendor\Module\Setup; use Magento\Framework\Setup\InstallSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\SchemaSetupInterface; /** * @codeCoverageIgnore */ class InstallSchema implements InstallSchemaInterface { /** * {@inheritdoc} * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function install(SchemaSetupInterface $setup, ModuleContextInterface $context) { $installer = $setup; $installer->startSetup(); $eavTable = $installer->getTable('eav_attribute'); $columns = [ 'my_column' => [ 'type' => \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, 'length' => …

1
表'标志'
在Magento 2中,有一个名为的表flag。 该表已创建Magento\Setup\Model\Installer。 该表做什么/持有什么?

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.