我想为 phinx Db 迁移添加外键,但出现错误。
我想使用 Bids 表中的 camping_id 作为来自活动表的 id 的外键。
public function change()
{
$table = $this->table('bids');
$table ->addColumn("value", "integer", ["limit" => 11])
->addColumn("camping_id", "integer", ["limit" => 45])
->addColumn("subscriber_id","integer", ["limit" => 11])
->addColumn("added_date", "datetime")
->addColumn("deleted", "boolean", ["null" => true])
->addColumn("msisdn", "string", ["limit" => 100], ["null" => true])
->addColumn("program_id", "integer", ["limit" => 11], ["null" => true])
->addColumn("status", "string", ["limit" => 45], ["null" => true])
->addForeignKey(['camping_id', 'id'],
'campaigns',
['camping_id', 'id'],
['delete'=> 'NO_ACTION', 'update'=> 'NO_ACTION', 'constraint' => 'camping_id'])
->create();
}
运行迁移后,出现此错误
PDOException: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint in /var/www/git/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php:167
Stack trace: