Questions tagged «database»

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

2
Magento每个新发票的递增ID递增5?
我需要将每个新的发票编号增加5,我已经尝试过以下代码。 但是更改了所有发票,装运,订单和贷项凭证。 我需要将每个新的发票编号增加5,发货增加5,并将贷项凭单增加3。 销售订单也增加1(正常)。 我怎样才能做到这一点 。? 任何人都可以帮助我。 class Mage_Eav_Model_Entity_Increment_Numeric extends Mage_Eav_Model_Entity_Increment_Abstract { public function getNextId() { $last = $this->getLastId(); if (strpos($last, $this->getPrefix()) === 0) { $last = (int)substr($last, strlen($this->getPrefix())); } else { $last = (int)$last; } $next = $last + 5; return $this->format($next); } }

5
Magento 2:如何从数据库中重置客户密码
它是数据库中客户密码的哈希值。因此,MD5和Sha1无法正常工作。 UPDATE `customer_entity` SET `password` = MD5('test123') WHERE `email` = 'X@X.com'; 那么如何使用数据库查询来更新密码。可能是MD5(Sha1('test123'))吗? Magento如何通过代码进行操作。去vendor\magento\module-customer\Console\Command\UpgradeHashAlgorithmCommand.php protected function execute(InputInterface $input, OutputInterface $output) { $this->collection = $this->customerCollectionFactory->create(); $this->collection->addAttributeToSelect('*'); $customerCollection = $this->collection->getItems(); /** @var $customer Customer */ foreach ($customerCollection as $customer) { $customer->load($customer->getId()); if (!$this->encryptor->validateHashVersion($customer->getPasswordHash())) { list($hash, $salt, $version) = explode(Encryptor::DELIMITER, $customer->getPasswordHash(), 3); $version .= …

3
“ eav_”表的目的
我一直想知道表的含义是什么: eav_entity eav_entity_datetime eav_entity_decimal eav_entity_int eav_entity_store eav_entity_text 他们总是空的。它们是在1.6之前的版本中创建的,app/code/core/Mage/Eav/sql/eav_setup/mysql4-install-0.7.0.php后来又被带到版本1.6+ 的安装脚本中,/app/code/core/Mage/Eav/sql/eav_setup/install-1.6.0.0.php 我看到有一个资源模型链接到其中一个表Mage_Eav_Model_Resource_Entity_Store(也许还有其他表),但是/没有发生任何变化。 这些表有什么用吗?或者这是其他已启动但尚未实现的“功能”,例如布局版本或管理面包屑。
19 database  eav 

6
Magento 2-如何获取eav实体的属性选项值?
如何获取eav实体的属性选项值? 我发现仅针对magento 1.x的解决方案,但我不知道M2。 M1: $attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0]; $attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']); $src = $attributeModel->getSource()->getAllOptions(); 有人知道,请一步一步给我看!谢谢!
18 magento2  database  eav 


4
Magento开发工作流程:如何从Test magento安装中“获取控制”数据库并更新实时Magento安装?
我发布这个问题是因为我想知道对于想要管理在线商店各个方面的人来说,最佳的开发工作流程是什么。 当然,与所有Web开发一样,拥有整个软件解决方案的实时副本和至少一个开发副本当然非常重要。但是,管理Magento东西并不像管理其他“基于文件”的软件那样,因为还有一个数据库组件在起作用,因此,除了我可以使用Git之类的工具作为VCS工具进行源代码控制之外,我要管理实时版本和开发版本之间的数据库差异? 我当然可以通过cron备份实时数据库,然后将备份中的SQL INSERT语句插入到源代码管理中,但是此后,两个数据库将分别发展,而客户一方面注册并下订单,然后再进入实时数据库,然后因为分别对开发数据库进行了更新。当要合并开发版本和实时版本时,可以通过git毫无问题地更新php文件(在托管数据库配置详细信息的单个文件上使用gitignore),但是数据库文件呢?如何合并两个备份中包含INSERT SQL语句的两个文件,而不会造成灾难和破坏系统? 这是我所面临的Magento开发生命周期的阴暗区域:管理数据库差异。 在我看来,就像同步Magento商店的开发/测试版本和实时版本之间不同的数据库内容的唯一解决方案一样,是在纸上写下通过Magento管理面板对开发版本所做的所有更改,并希望不要犯任何错误,然后在对所有内容进行测试并工作归档之后,转到在线版本,并在Magento脱机并进入维护模式时进行完全相同的更改。由于这是一个手动过程,因此容易出错。 那么,什么是处理测试magento服务器与实时magento服务器之间数据库同步的更好方法? 谢谢。


3
Magento 2:%_ entity表中的row_id和entity_id有什么区别?
在Magento 1中,row_id实体表中没有任何列,而您只有entity_id: CREATE TABLE `catalog_category_entity` ( `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Entity ID', `entity_type_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Entity Type ID', `attribute_set_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Attriute Set ID', `parent_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Parent Category ID', `created_at` timestamp …
17 magento2  database  eav 

3
基本网址变更Magento2.1
我已经更改了Magento 2.1中的基本URL,但是它不起作用。 安装时,我已将基本网址设置为www.domain1.net。我需要将其更改为www.domain2.net。 我试过的 更新baseurl core_config_data: UPDATE core_config_data SET value = 'http://www.domain2.net/' WHERE path IN ('web/secure/base_url', 'web/unsecure/base_url'); 更换 design/head/includes/ UPDATE core_config_data SET value = REPLACE(value, 'http://www.domain1.net/', 'http://www.domain2.net/') WHERE path = 'design/head/includes'; 然后更改商店网址 php bin/magento setup:store-config:set --base-url="http://www.domain2.net/" php bin/magento setup:store-config:set --base-url-secure="https://www.domain2.net/" 最后清除了缓存: php bin/magento cache:flush 在搜索www.domain2.net之后,找不到服务器。 参考: https://mage2.pro/t/topic/22 http://blog.netgloo.com/2016/05/13/magento-2-change-base-url-using-the-command-line/ 在magento 2.1中更改基本url的正确方法是什么?

5
升级到EE 1.14.2.0后的索引错误:表catalog_product_entity_tmp_indexer不存在
在将Magento升级到EE 1.14.2.0之后,cron enterprise_refresh_index总是会收到以下错误: 消息“ SQLSTATE [42S02]”的异常“ PDOException”:未找到基表或视图:1146 /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228中的表“ catalog_product_entity_tmp_indexer'不存在” 我不明白为什么这个表不存在。Magento不应在刷新索引的过程中创建它吗?

4
将列添加到网格(观察者)-where子句中的列“ store_id”含糊不清
我正在使用观察者方法在订单网格中添加一列: 在活动上-> sales_order_grid_collection_load_before我正在向集合中添加一个联接 在事件上-> core_block_abstract_prepare_layout_before我正在向网格添加一列 编辑更多信息: 活动(1): public function salesOrderGridCollectionLoadBefore($observer) { $collection = $observer->getOrderGridCollection(); $collection->addFilterToMap('store_id', 'main_table.store_id'); $select = $collection->getSelect(); $select->joinLeft(array('oe' => $collection->getTable('sales/order')), 'oe.entity_id=main_table.entity_id', array('oe.customer_group_id')); } 活动(2): public function appendCustomColumn(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (!isset($block)) { return $this; } if ($block->getType() == 'adminhtml/sales_order_grid') { /* @var $block Mage_Adminhtml_Block_Customer_Grid */ …

3
一些Magento表不是InnoDB,将所有表转换为InnoDB是否安全?
我正在使用AWS RDS只读副本。Magento的内存引擎表经常出现问题。对于备份和只读副本,RDS喜欢InnoDB。我可以安全地将所有表更改为InnoDB吗? 此外,我从AWS收到以下警告: 数据库实例magento-monin-prod-db包含尚未迁移到InnoDB的MyISAM表。这些表可能会影响您执行时间点还原的能力。考虑将这些表转换为InnoDB。请参考http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables 合理答案 仍对反馈感兴趣。如果接下来的24小时内没有发现任何问题,我将以此为答案。到目前为止,我在下面执行的步骤似乎是安全的。我最大的担心是Magento的Memory Engine表(以in_tmp结尾的表)及其对索引的影响。 这是我所做的: SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db' 对我来说,这主要是返回了临时索引表和magento模块表,因此没有太多要关注的关键核心表,也没有足够的表供我轻松地执行另一个alter table(如果有问题的话)。 对于返回的每个表,我执行: Alter table {table-name} ENGINE=InnoDB; 如果您的表都不是InnoDB,我很想尝试一下。但是,正如我之前说过的,我的实例上只有几个核心表需要修改。

1
Magento 2中创建多对多关系的最佳实践方法是什么?
我环顾了核心,并看到了几个模型之间多对多关系的一些示例,但是我看不到对此的明确答案。 例如,假设我们创建了一个新模型,并且希望与现有产品表建立多对多关系。 因此,我们有了新的模型-库存商,我们这样创建了2个表,一个表用于存储库存商名称,另一个用于存储与产品的多对多关系。 安装程序类的截断版本: $table = $setup->getConnection() ->newTable($installer->getTable('stockist')) ->addColumn('stockist_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true], 'Stockist Id') ->addColumn('name', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT, null, ['nullable' => false], 'Stockist Name'); $table = $installer->getConnection() ->newTable($installer->getTable('stockist_product')) ->addColumn( 'entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER, null, ['identity' => true, 'nullable' => false, 'primary' => true], …

1
新Changelog表的机制(例如:catalog_category_product_cat_cl)
我刚刚发现数据库中提到的表。我认为它们是Magento EE 1.13中的新功能,可能与新索引相关。 + ---------------------------------------- + | catalog_category_flat_cl | | catalog_category_product_cat_cl | | catalog_category_product_index_cl | | catalog_product_flat_cl | | catalog_product_index_price_cl | | cataloginventory_stock_status_cl | | catalogsearch_fulltext_cl | | enterprise_url_rewrite_category_cl | | enterprise_url_rewrite_product_cl | | enterprise_url_rewrite_redirect_cl | + ---------------------------------------- + 这些表格如何运作?目的是什么? 他们会在一段时间后自动清洗吗? 将这些表包括在备份中是否有意义?
15 database  ee-1.13 

1
从CSV创建数据库表
我正在开发一个模块,该模块需要访问从外部源提供的某些表格数据。它只有两列,但大约有40000行。 当前,我的模块只是在必要时完全解析CSV。这很好用,但是由于文件约为450Kb,一旦部署到生产站点,这将消耗服务器资源。 我想将此数据移到Magento表中,遇到了麻烦。 我在安装脚本ala中使用RDBMS方法: $installer = $this; $installer->startSetup(); $table = $installer->getConnection() ->newTable($installer->getTable('my_table')) ->addColumn('column_a', Varien_Db_Ddl_Table::TYPE_TEXT, 5, array( 'nullable' => false, ), 'Column A') ->addColumn('column_b', Varien_Db_Ddl_Table::TYPE_TEXT, 3, array( 'nullable' => false, ), 'Column B'); $installer->getConnection()->createTable($table); $installer->endSetup(); 这对于创建表是很好的方法,但是实际上获取我的数据真是令人费解(在数据库管理方面,我仍然是菜鸟。) 理想情况下,我只解析我的CSV文件并将值插入表中,而不必处理大量的复制/粘贴操作。 是否有用于处理任意CSV数据的内置方法,或者它们全都可以处理所需的内容?将数据导入Magento的最佳方法是什么?
15 database  setup 

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.