0

我正在使用 Phinx 在 cakephp 3 中编写迁移脚本。我需要在使用迁移更新表(使用 update() 命令)时添加一个带有主键的列。但是当我运行脚本时,它创建了列但不包含主键。

  $table->addColumn('book_id', 'integer', [
     'default' => null,
     'limit' => 11,
     'null' => true
  ])->addPrimaryKey('book_id');
  $table->update();

谢谢

4

2 回答 2

1

根据文档

处理主键只能在建表操作上进行。这是由于插件支持的某些数据库服务器的限制。

于 2017-03-17T14:07:35.463 回答
1
public function change(): void
{
    $this->table('table_name')
    ->changePrimaryKey(['column1', 'column2'])
    ->save();
}
于 2021-04-08T08:53:39.120 回答