以前使用此列创建的表:
->addColumn(
'dictionary_id',
'integer',
[
'default' => null,
'null' => false,
'limit' => 11,
'signed' => false
]
)
->addForeignKey(
'dictionary_id',
'dictionaries',
'id',
['delete' => 'NO_ACTION', 'update' => 'NO_ACTION']
)
我想将 dictionary_id 设为可选(可为空)。
由于现有的外键,Phinx 不允许我修改该列,所以我试图删除它,修改该列,然后再次添加外键:
$table = $this->table('some_table')
->dropForeignKey('dictionary_id')
->update();
$table = $this->table('some_table')
->changeColumn('dictionary_id', 'integer', [
'null' => true,
'default' => null
])
->addForeignKey(
'dictionary_id',
'dictionaries',
'id',
['delete' => 'NO_ACTION', 'update' => 'NO_ACTION']
)
->update();
但我得到:
Exception: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint in ...
我该如何克服这个问题?