2

我正在使用 Phinx 进行数据库迁移。

在我的情况下,它不适用于 PostgreSQL 模式(例如test.table)。

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

当我击中phinx migrate它时,它会引起 arror。有什么解决方案吗?

我的错误是:

--> 图像错误

错误是:语法错误或在“。”内

Phinx 是否支持方法中的点表示table法?

4

2 回答 2

3

我找到了替代解决方案。在更改表之前,我手动选择了 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();
于 2016-09-12T10:19:54.387 回答
0

你确定你可以像这样在表名中使用点符号吗?

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

test.table会遵循模式databasename.tablename

于 2016-08-05T14:27:49.853 回答