以前一直用的 Laravel 5.4,数据库也是直接写 sql 的,感受可定制性更强,顺便锻炼下 sql。此次改用了 Laravel 5.5,索性用迁移建库试试,结果报错以下:sql
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `users` add constraint `users_production_enterprise_id_foreign` foreign key (`production_enterprise_id`) references `production_enterprises` (`id`))数据库
看样子是不能添加约束。而后我作了如下几步检查:框架
按照第 3 步,因为 Laravel 的迁移文件名为 "2018_04_15_101341_create_users_table" 的前缀时间戳格式,因此我修改了要参考主表字段的那些文件的时间戳,让那些主表被优先建立。blog
网上看到也有改动 Laravel 框架源码的作法,我不太喜欢,也不推荐。总之,问题解决。源码