Настройка не добавляет строку в таблицу
Я хочу добавить строку 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>
2
1 answers
-
Переместите свой код из:
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 } }
-
Убедитесь, что ваше расширение было включено (я полагаю, что MS_REALREVIEWS - это ваше имя расширения):
php bin/magento module:status
Если нет, выполните:
php bin/magento module:enable MS_RealReviews
-
Удалите из таблицы
module_setup
свой модуль для переустановки:DELETE FROM `setup_module` WHERE `setup_module`.`module` = 'MS_RealReviews'
Добавьте некоторый отладочный код в
InstallSchema::install()
.-
Переустановка:
php bin/magento setup:upgrade --keep-generated
2
Author: sergei.sss, 2017-03-27 12:35:46