Ich versuche, eine neue Spalte zu einer vorhandenen Tabelle in magento2 hinzuzufügen
<?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 Bin / Magento Setup: Upgrade
Nichts passiert
Update 1.
Wenn ich das Ziel klar verstehe, wird InstallSchema nur ausgeführt, wenn die Setup-Tabelle keine Werte enthält. Wenn Ihr Modul bereits im System installiert ist, müssen Sie Änderungen in UpgradeSchema vornehmen. Das liegt daran, dass meine Datei nicht ausgeführt wurde. Als ich es umbenannte, um ein Upgrade durchzuführen und die erforderlichen Änderungen vorzunehmen, funktionierte alles ordnungsgemäß