2017-10-24 11 views
0

Magento 2を初めて使用しています。店舗の名前の価値を変更するための更新を書きました。UpgradeData.phpでストア名を変更

は、それはそれのようになります。

store_id |code |website_id |group_id |name  |sort_order |is_active | 
---------|------|-----------|---------|-----------|-----------|----------| 
0  |admin |0   |0  |Admin  |0   |1   | 
1  |fr |1   |1  |French  |0   |1   | 
2  |en |1   |1  |English |0   |1   | 
3  |de |1   |1  |Deutsch |0   |1   | 
4  |en_us |2   |2  |USA  |0   |1   | 

そして、私は "英語US" であることを "USA" の値を必要としています。

は、ここで私が思い付いたものです:

<?php 

namespace Dnd\Store\Setup; 

use Magento\Framework\Setup\UpgradeDataInterface; 
use Magento\Framework\Setup\ModuleDataSetupInterface; 
use Magento\Framework\Setup\ModuleContextInterface; 

/** 
* Class UpgradeData 
* 
*/ 
class UpgradeData implements UpgradeDataInterface 
{ 

    /** 
    * @param ModuleDataSetupInterface $setup 
    * @param ModuleContextInterface $context 
    */ 
    public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context) 
    { 
     $installer = $setup; 
     if (version_compare($context->getVersion(), '2.0.1', '<=')) { 
      if ($installer->getTableRow($installer->getTable('store'), 'store_id', 4)) { 
       $installer->updateTableRow(
        $installer->getTable('store'), 
        'store_id', 
        4, 
        'name', 
        'English US' 
       ); 
      } 
     } 
    } 
} 

しかし、私はphp bin/magento setup:upgrade

あなたが任意のアイデアを持っていたときに、それは何もしないのですか?

EDIT:アップグレード機能+ module.xmlにバージョンcomparaison:

<?xml version="1.0"?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> 
    <module name="Dnd_Store" setup_version="2.0.1"> 
     <sequence> 
      <module name="Magento_Store"/> 
     </sequence> 
    </module> 
</config> 

setup_moduleデータ:2.0.1

答えて

1

私はちょうどあなたのコードをチェックし、それがうまく動作します。したがって、あなたのモジュールのバージョンに何か問題があると私は推測します。 setup_moduleテーブルのモジュールとバージョンのデータにetc/module.xmlの内容を教えてください。

私は何かがいずれかの[OK]を、私はそれを編集した

+0

比較関数またはmodule.xmlの値を持つあなたは、私はちょうど 'PHPのビンを実行する必要があることに同意します –

+0

を要求したとして、バージョンが間違っていると思います/ magento setup:upgrade 'コマンド? –

+1

実際にはありません。あなたのモジュールの現在のバージョンは2.0.1であり、module.xmlのバージョンも2.0.1です。これは、アップグレードデータスクリプトが実行されないことを意味します。これらの2つの値には違いがあります。あなたはmodule.xmlのバージョンをegに上げる必要があります。 2.0.2と比較機能のバージョンを2.0.2に変更します。 –

関連する問題