我是Cakephp的新手并使用Cakephp3.3构建应用程序,我正在进行迁移,我必须创建一个user_infos
表,并且想要添加一个新列user_id
,我是能够通过迁移添加新列,但我不知道如何添加外键。
这是我的迁移文件
public function change()
{
$table = $this->table('user_infos');
$table->addColumn('user_id', 'integer', [
'default' => null,
'limit' => 11,
'null' => false,
]);
$table->addColumn('title', 'string', [
'default' => null,
'limit' => 255,
'null' => false,
]);
$table->addColumn('created', 'datetime', [
'default' => null,
'null' => false,
]);
$table->addColumn('modified', 'datetime', [
'default' => null,
'null' => false,
]);
$table->create();
}
答案 0 :(得分:5)
您的迁移似乎基于Phinx
;您可以在Phinx\Db\Table
中找到相关方法。添加
->addIndex(['user_id'])
->addForeignKey('user_id', 'users', 'id')
要迁移users
表上的约束。
答案 1 :(得分:1)
在Phinx中,您可以使用以下代码添加带有级联的外键
$table->addForeignKey('user_id', 'users', 'id', ['delete'=> 'CASCADE', 'update'=> 'CASCADE']);