Erstellen Sie einen app\code\Sugarcode\Test\Setup\UpgradeSchema.php
Upgrade-Befehl und führen Sie ihn aus
Wenn eine Version geändert wurde, ändern Sie einfach die Datei module.xml und fügen Sie in UpgradeSchema.php eine weitere hinzu, wenn die Bedingung mit dem Versionsvergleich übereinstimmt
if (version_compare($context->getVersion(), '2.0.1', '<')) {
// Changes here.
}
Wenn Sie also den Upgrade-Befehl ausführen, wird die UpgradeSchema.php
Datei ausgeführt und die Version basierend auf dieser Version verglichen. Der Code wird ausgeführt
Ex
<?php
namespace Sugarcode\Test\Setup;
use Magento\Framework\Setup\UpgradeSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
class UpgradeSchema implements UpgradeSchemaInterface
{
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$setup->startSetup();
$tableName = $setup->getTable('testtable');
if (version_compare($context->getVersion(), '2.0.0') < 0) {
// Changes here.
}
if (version_compare($context->getVersion(), '2.0.1', '<')) {
// Changes here.
}
if (version_compare($context->getVersion(), '2.0.2', '<')) {
if ($setup->getConnection()->isTableExists($tableName) == true) {
$connection = $setup->getConnection();
/* $connection->addColumn(
$tableName,
'updated_at',
['type' => Table::TYPE_DATETIME,'nullable' => false, 'default' => '', 'afters' => 'created_at'],
'Updated At'
); */
$connection->changeColumn(
$tableName,
'summary',
'short_summary',
['type' => Table::TYPE_TEXT, 'nullable' => false, 'default' => ''],
'Short Summary'
);
// Changes here.
}
}
$setup->endSetup();
}
}
module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Sugarcode_Test" setup_version="2.0.2" schema_version="2.0.2" />
</config>
Wenn es funktioniert, akzeptieren Sie die Antwort, indem Sie auf das rechte Symbol klicken