Laravel/lumen初級教程之插入初始化資料
阿新 • • 發佈:2019-02-04
前言
我們在開發的時候總是會遇到這樣的場景。比如我們開發了一個系統,這個系統在上線時,或者第一次部署時,都需要在資料庫中匯入一些初始化資料,系統啟動都是需要依賴這些初始化資料的。
在開發基於Laravel的應用之前,我們都是維護一個上線的DB變更指令碼,或者也叫DB初始化指令碼。系統部署時,將該SQL指令碼交給DBA去執行。這樣就會出現一個問題,在專案組內很多時候有的開發人員對SQL語句不熟悉,這就需要開發人員將他的需求告知DBA,DBA來完成SQL語句的編寫;又或者DBA在執行SQL指令碼的時候,對業務不熟悉,只能盲目的進行執行,出現錯誤也很難搞定。
為了解決上述的問題,Laravel框架提供了一個面向開發者友好話的工具——seeds,通過這個工具或者命令,我們可以將我們需要進行初始化的資料進行PHP程式碼化,你不需要編寫SQL語句,每個開發人員只需要維護好自己的初始化內容即可,這樣大大減少了開發人員的負擔,降低了出錯的概率,提高了部署的速度和開發人員的效率。下面就對Laravel中的seeds進行詳細的講解和總結。
Laravel中的seeds
當我們通過
composer create-project --prefer-dist laravel/laravel blog
命令建立一個基於Laravel框架的工程之後,我們就可以通過命令
php artisan make:seeder ProcessTableSeeder
建立一個seeder,建立成功後,命令列會輸出以下內容:
Seeder created successfully.
接下來在專案的database/seeds/目錄下會生成一個名為ProcessTableSeeder.php的檔案,並會生成以下模板程式碼:
class ProcessTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { // } }