magento2-docker/app/code/Kai/Banner/Setup/UpgradeSchema.php

95 lines
2.6 KiB
PHP
Executable File

<?php
namespace Kai\Banner\Setup;
use Magento\Framework\DB\Ddl\Table;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\Setup\UpgradeSchemaInterface;
class UpgradeSchema implements UpgradeSchemaInterface
{
/**
* {@inheritdoc}
*/
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
$tableName = $installer->getTable('kai_banner');
if ($installer->tableExists($tableName)) {
$installer->getConnection()->dropTable($tableName);
}
$table = $installer->getConnection()
->newTable($tableName)
->addColumn(
'id',
Table::TYPE_INTEGER,
null,
[
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true,
],
'ID'
)
->addColumn(
'title',
Table::TYPE_TEXT,
null,
['nullable' => false, 'default' => ''],
'Title'
)
->addColumn(
'html',
Table::TYPE_TEXT,
null,
['nullable' => true, 'default' => ''],
'htmlentities($str)'
)
->addColumn(
'redirect',
Table::TYPE_TEXT,
null,
['nullable' => true, 'default' => ''],
'URL redirect'
)
->addColumn(
'created_at',
Table::TYPE_TIMESTAMP,
null,
[
'nullable' => true,
'default' => Table::TIMESTAMP_INIT,
],
'Created At'
)
->addColumn(
'updated_at',
Table::TYPE_TIMESTAMP,
null,
[
'nullable' => true,
'default' => Table::TIMESTAMP_INIT_UPDATE,
],
'Updated At'
)
->addColumn(
'status',
Table::TYPE_SMALLINT,
null,
[
'nullable' => false,
'default' => '0',
],
'Status'
)->setComment('Kai Banner Module');
$installer->getConnection()->createTable($table);
$installer->endSetup();
}
}