Cakephp 3.x 迁移:定义外键依赖/执行顺序

Cakephp 3.x migration: define foreign key dependencies / execution order

系统

问题

我将列定义为 迁移 B 中的外键,它需要先行 table A存在/已执行迁移。

会发生什么

当然会出现错误SQLSTATE[HY000]: General error: 1215 Cannot add foreign key,因为table A的迁移必须先执行,这样B才能定义它的外键。

问题

我可以在迁移中定义执行顺序/依赖关系,还是必须手动执行迁移?

顺序由迁移文件名的版本(日期时间)前缀决定,它们按升序执行,即从最早的版本到最新的版本。回滚按降序执行,即从最新到最早(从 Phinx 0.8 开始,回滚顺序可以通过 the version_order option 定义)。

因此,如果您需要按特定顺序应用迁移,请相应地设置文件名的版本。或者在单个迁移文件中应用更改。