1. 程式人生 > >Laravel/lumen初級教程之插入初始化資料

Laravel/lumen初級教程之插入初始化資料

前言

我們在開發的時候總是會遇到這樣的場景。比如我們開發了一個系統,這個系統在上線時,或者第一次部署時,都需要在資料庫中匯入一些初始化資料,系統啟動都是需要依賴這些初始化資料的。

在開發基於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()
    {
        //
    }
}