以前一直用的 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 框架源碼的作法,我不太喜歡,也不推薦。總之,問題解決。源碼