मैं 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',
'nullable' => false,
'comment' => 'Description of my column',
],
];
$connection = $installer->getConnection();
foreach ($columns as $name => $definition) {
$connection->addColumn($eavTable, $name, $definition);
}
$installer->endSetup();
}
}
php बिन / Magento सेटअप: उन्नयन
कुछ नहीं हुआ
अपडेट १।
यदि मैं स्पष्ट रूप से लक्ष्य को समझता हूं, तो InstallSchema केवल तभी निष्पादित होता है जब सेटअप तालिका में कोई मान नहीं होता है। यदि आपका मॉड्यूल पहले से सिस्टम में स्थापित है - आपको UpgradSchema में कोई भी बदलाव करने की आवश्यकता है। ऐसा इसलिए क्योंकि मेरी फाइल पर अमल नहीं हुआ। जब मैंने नवीनीकरण करने और आवश्यक परिवर्तन करने के लिए इसका नाम बदला - सब कुछ ठीक से काम करना शुरू कर दिया