2016-08-05 54 views
2

我正在使用Phinx進行數據庫遷移。Phinx - 爲php應用程序遷移數據庫 - postgreSQL架構不起作用

在我的情況下,它不適用於PostgreSQL模式(例如test.table)。

// create the table 
$table = $this->table('test.table'); 
$table->addColumn('test', 'integer') 
     ->create(); 

當我打到phinx migrate它會導致一個錯誤。有沒有解決方案?

我的錯誤是:

--> IMAGE ERROR

的錯誤是:語法錯誤或內 「」

Phinx是否支持table方法中的點符號?

+0

什麼是錯誤信息? – fire

+0

您是否按照文檔指定了pgsql適配器? http://docs.phinx.org/en/latest/configuration.html#supported-adapters –

+0

我添加了錯誤的圖片[圖片錯誤] – bfcior

回答

0

你確定你可以在表名中使用點符號嗎?

// create the table 
$table = $this->table('test_table'); 
$table->addColumn('test', 'integer') 
    ->create(); 

test.table將遵循的模式databasename.tablename

+1

在postgreSQL中使用點表示法如下:'schema.tablename' – bfcior

1

我找到替代解決方案。在更改表之前,我手動選擇了PostgreSQL模式。

// changing schema 
$this->getAdapter()->setOptions(array_replace($this->getAdapter()->getOptions(), ['schema' => 'your_schema'])); 

// create the table 
$table = $this->table('test_table'); 
$table->addColumn('test', 'integer') 
      ->create();