【问题标题】:I need to add a foreign key to Phinx DB migration but it's getting error我需要向 Phinx DB 迁移添加外键,但出现错误
【发布时间】:2019-08-06 17:37:15
【问题描述】:

我想在 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:

【问题讨论】:

    标签: php database-migration phinx


    【解决方案1】:

    我解决了这个问题。您应该首先迁移父表,因为在执行与外键相关的迁移之前应该存在引用列。

    【讨论】:

      猜你喜欢
      • 2019-10-19
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 2018-08-01
      • 2021-06-15
      相关资源
      最近更新 更多