小屋創作

日誌2020-09-09 21:35

Laravel 8 踩雷心得

作者:Yotsuba

Laravel 8 釋出,小弟我看了看改版消息,非常喜歡新版本,於是馬上按照官方文件升級

然而在升級完後跑單元測試就噴錯誤了,這是第一個要注意的點

請按照錯誤訊息,修改 composer.json 的 phpunit 版本為 9,然後 composer update




第二個錯誤一樣是單元測試,錯誤訊息會說 Seeder 類別找不到

即使我回到上一個 commit 狀態當然也沒用,因為 vendor 不受版控

我也確定過程中我只有升級 Laravel 版本而已,這時候問題可以鎖定在這了

進一步 Debug 我發現 Laravel 7 和 8 的 php artisan help db:seed 有點不同




Seeder 的預設資料夾居然偷偷被換掉了,7 是 seeds ; 8 則是 seeders

連 composer.json 的內容都有些出入

解決辦法是把 seeds 資料夾改成 seeders,並且把 composer.json 中 classmap 的部份

由 database/seeds 改成 database/seeders,然後下一行 composer dump-autoload 即可

這時候你可能會發現,你舊有的 Seeder 還是會噴找不到的錯誤

那是因為 Laravel 8 的 Seeder 有 namespace,就在加上去即可

8

0

LINE 分享

相關創作

[閒聊]心動但是不能行動(Y2B)

全部都想要,代表沒有抉擇的能力

【開箱】JLab JBuds ANC 3 真無線藍牙耳機評測|內建充電線,不到 2000 元的降噪耳機!

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】