#預設資料產生器 Seeder

1.引入model裡的product,接著新增對應欄位資料

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/104d01ca-1913-48cd-a3c0-b5ff321f6fdb/1628430378705.jpg

2.接著執行seeder指令,執行成功資料庫會有假資料

php artisan db:seed

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a86eda98-e72d-457a-963b-92aa9b99ca20/1628430886733.jpg

<aside> 💡 如果遇到假資料建立失敗,主要是因為對應欄位沒有,這時候我是用migration指令退回第一層尚未建立成功的migrate的狀態,再重新設計欄位

</aside>

php artisan migrate:rollback --step=1 //退回去第一層

3.如果重複執行DB:seed指令會一直重複增加假資料,故採另一個方式作業,且DB:seeder可以根據需求建立在不同的資料裡面,而如何另外增加自己要的檔案裡的假資料,可以利用下面的指令

php artisan make:seeder ProductSeeder

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8b46767f-455f-4d89-a117-93539ed90e20/1628431282543.jpg

4.避免執行seeder而一直創建假資料,我們可以使用upsert(),如遇到laravel是8.9的版本可能會遇到bug,建議升級

可以利用以下指令查詢版本

php artisan -v

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cd4050ce-0007-4fcb-94aa-4f10377ca5dd/1628432251087.jpg

可使用下列指令升級laravel framework

composer update laravel/framework

如果遇到記憶體問題可再加上COMPOSER_MEMORY_LIMIT=-1 主要是說不限制記憶體

COMPOSER_MEMORY_LIMIT=-1 composer update laravel/framework