Magento 2 - ошибка при создании таблицы БД из пользовательской схемы

Я пытаюсь создать собственный модуль для 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();
}
}

Заранее спасибо,


person Steve    schedule 28.06.2017    source источник


Ответы (1)


Пожалуйста, измените эту строку

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

С участием

$installer->getConnection()->createTable($table);
person Jitendra Patel    schedule 29.06.2017
comment
Спасибо, Джитендра, хотя сейчас мне немного неловко. Я был так сосредоточен на первых двух экземплярах getConnection (), что так и не дошел до третьего. Урок усвоен, первый шаг к решению проблемы - использовать валидатор! - person Steve; 29.06.2017