Magento 2 - 从自定义架构创建db表时出错

时间:2017-06-28 23:37:47

标签: magento2

我正在尝试为Magento 2创建一个自定义模块,我已经到了在/Setup/InstallSchema.php中定义模式的重点

运行'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();
}
}

提前致谢,

1 个答案:

答案 0 :(得分:0)

请更改此行

$installer-getConnection()->createTable($table); // your code line.

使用

$installer->getConnection()->createTable($table);