我已经使用 setup 来创建表,但脚本没有创建表。我还从 setup_module 表中删除了该条目,但仍然没有用。bin/magento setup:install --convert-old-scripts=1
自安装以来,我已经尝试使用迁移到声明性模式Magento 2.3
,但原始脚本需要首先工作。
magento-path/app/code/Folder/CustomModule/Setup/InstallSchema.php
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Folder\CustomModule\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)
{
/**
* Create table 'shop_ocxe'
*/
$setup->startSetup();
$table = $setup->getConnection()
->newTable($setup->getTable('shop_ocxe'))
->addColumn(
'id',
\Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
null,
['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true],
'Shop ID'
)
->addColumn(
'url',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Url'
)
->addColumn(
'name',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Name'
)
->addColumn(
'phrase',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Phrase'
)
->addColumn(
'logo',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Logo'
)
->addColumn(
'banner',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
[],
'Banner'
)
->addColumn(
'author',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Author'
)
->addColumn(
'author_photo',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false],
'Author Photo'
)
->addColumn(
'desc',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'64k',
[],
'Desc'
)
->addColumn(
'status',
\Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
null,
['nullable' => false, 'default' => 1],
'Status'
)
->addColumn(
'created_at',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
'Created At'
)->addColumn(
'updated_at',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
'Updated At'
)->setComment("Shop Table");
$setup->getConnection()->createTable($table);
$setup->endSetup();
}
}