Настройка не добавляет строку в таблицу


Я хочу добавить строку email в reviews_details.

В моей папке настроек находится install-1.0.0.php:

<?php

namespace MS\RealReviews\Setup;


use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;


class InstallData implements InstallDataInterface
{

    public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
      {
        $installer = $setup;

        $installer->startSetup();

        $eavTable = $installer->getTable('review_detail');

        $columns = [
            'email' => [
                'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
                128,
                'nullable' => true,
                'comment' => 'User E-Mail Address',
            ],

        ];

        $connection = $installer->getConnection();
        foreach ($columns as $name => $definition) {
            $connection->addColumn($eavTable, $name, $definition);
        }

        $installer->endSetup();
    }

}

Мой module.xml:

<?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="MS_RealReviews" setup_version="1.0.0"/>
</config>

Обзор таблицы после php bin/magento setup:upgrade: enter image description here

Author: Max, 2017-03-27

1 answers

  1. Переместите свой код из:

    MS\RealReviews\Setup\InstallData.php  
    

    Кому:

    MS\RealReviews\Setup\InstallSchema.php
    

    class InstallSchema implements InstallSchemaInterface
    {
    
        public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
        { 
            // your code goes here 
        }
    }
    
  2. Убедитесь, что ваше расширение было включено (я полагаю, что MS_REALREVIEWS - это ваше имя расширения):

    php bin/magento module:status
    

    Если нет, выполните:

    php bin/magento module:enable MS_RealReviews
    
  3. Удалите из таблицы module_setup свой модуль для переустановки:

    DELETE FROM `setup_module` WHERE `setup_module`.`module` = 'MS_RealReviews'
    
  4. Добавьте некоторый отладочный код в InstallSchema::install().

  5. Переустановка:

    php bin/magento setup:upgrade --keep-generated
    
 2
Author: sergei.sss, 2017-03-27 12:35:46