Tôi đang cố gắng thêm cột mới vào bảng hiện có trong 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();
}
}
Thiết lập php bin / magento: nâng cấp
Chẳng có gì xảy ra
Cập nhật 1.
Nếu tôi hiểu rõ mục tiêu, InstallSchema chỉ thực thi khi không có bất kỳ giá trị nào trong bảng thiết lập. Nếu mô-đun của bạn đã được cài đặt trong hệ thống - bạn cần thực hiện bất kỳ thay đổi nào trong Nâng cấp. Điều đó bởi vì tập tin của tôi đã không thực hiện. Khi tôi đổi tên nó để nâng cấp và thực hiện các thay đổi cần thiết - mọi thứ bắt đầu hoạt động bình thường