2017-06-28 49 views
0

我試圖創建一個自定義模塊的Magento 2,我得在/Setup/InstallSchema.phpMagento的2 - 錯誤的定製模式創建數據庫表

當定義模式的點運行'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(); 
} 
} 

由於提前,

回答

0

請改變這一行

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

隨着

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

謝謝Jitendra,雖然我現在感覺有點尷尬。我非常關注getConnection()的前兩個實例,我從來沒有像第三個實例那樣。獲得的教訓,解決問題的第一步是使用驗證程序! – Steve