Magento 2 - 从自定义模式创建数据库 table 时出错
Magento 2 - error creating db table from custom schema
我正在尝试为 Magento 2 创建一个自定义模块,我已经到了在 /Setup/InstallSchema.php
中定义架构的地步
当 运行ning 'php bin/magento setup:upgrade' 我得到错误:
调用未定义函数 Test/Connector/Setup/getConnection()
模块已启用并正确显示在配置文件中。我正在尝试 运行 的架构文件是:
<?php
namespace Test\Connector\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
class InstallSchema implements InstallSchemaInterface
{
public function install(SchemaSetupInterface $setup, ModuleContextInterface
$context) {
$installer = $setup;
$installer->startSetup();
$tableName = $installer->getTable('test_connector_settings');
if ($installer->getConnection()->isTableExists($tableName) != true) {
$table = $installer->getConnection()
->newTable($installer->getTable('ipos_connector_settings'))
->addColumn('id', Table::TYPE_SMALLINT, null, ['identity'=> true, 'nullable'=>false, 'primary'=>true], 'ID')
->addColumn('api_url', Table::TYPE_TEXT, 255, ['nullable'=>true], 'API URL')
->addColumn('api_user', Table::TYPE_TEXT, 100, ['nullable'=>false], 'API User Name')
->addColumn('api_password', Table::TYPE_TEXT, 100, ['nullable'=>false], 'API Password');
$installer-getConnection()->createTable($table);
}
$installer->endSetup();
}
}
提前致谢,
请更改此行
$installer-getConnection()->createTable($table); // your code line.
有
$installer->getConnection()->createTable($table);
我正在尝试为 Magento 2 创建一个自定义模块,我已经到了在 /Setup/InstallSchema.php
中定义架构的地步当 运行ning 'php bin/magento setup:upgrade' 我得到错误: 调用未定义函数 Test/Connector/Setup/getConnection()
模块已启用并正确显示在配置文件中。我正在尝试 运行 的架构文件是:
<?php
namespace Test\Connector\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\DB\Ddl\Table;
class InstallSchema implements InstallSchemaInterface
{
public function install(SchemaSetupInterface $setup, ModuleContextInterface
$context) {
$installer = $setup;
$installer->startSetup();
$tableName = $installer->getTable('test_connector_settings');
if ($installer->getConnection()->isTableExists($tableName) != true) {
$table = $installer->getConnection()
->newTable($installer->getTable('ipos_connector_settings'))
->addColumn('id', Table::TYPE_SMALLINT, null, ['identity'=> true, 'nullable'=>false, 'primary'=>true], 'ID')
->addColumn('api_url', Table::TYPE_TEXT, 255, ['nullable'=>true], 'API URL')
->addColumn('api_user', Table::TYPE_TEXT, 100, ['nullable'=>false], 'API User Name')
->addColumn('api_password', Table::TYPE_TEXT, 100, ['nullable'=>false], 'API Password');
$installer-getConnection()->createTable($table);
}
$installer->endSetup();
}
}
提前致谢,
请更改此行
$installer-getConnection()->createTable($table); // your code line.
有
$installer->getConnection()->createTable($table);