首頁 > php框架 > Laravel > 避坑! Laravel資料庫遷移功能的坑

避坑! Laravel資料庫遷移功能的坑

藏色散人
發布: 2021-06-15 08:58:16
轉載
2182 人瀏覽過

下面由laravel教學專欄為大家介紹Laravel 資料庫遷移功能的一個坑,希望對需要的朋友有幫助!

  • #環境:Laravel 8
  • 需求用到Laravel 資料庫遷移功能,因自己是強迫症處女座所以喜歡自己命名檔案例如:

避坑! Laravel資料庫遷移功能的坑

  • 但是在執行遷移的時候報錯:

避坑! Laravel資料庫遷移功能的坑

  • 經過幾輪嘗試發現Laravel 對遷移檔案的檔案名稱命名格式 是有固定的解析的,所以當我檔案名稱完全按照它的風格去寫的時候就正常運行了

避坑! Laravel資料庫遷移功能的坑

  • 當然類別名也必須統一:

避坑! Laravel資料庫遷移功能的坑

  • 吐槽的點在於:文件中並沒有提及文件名稱命名風格的強制要求 故今天記錄下此小坑
  • 看似是另一個坑或者說是框架的不足:那就是表結構沒辦法持續集成,例如今天我需要對某個表加字段,但此時已經遷移過了,那就會沒辦法再次運行同一個遷移檔案必須要建立新的遷移檔案,當然這我也理解這是為了方便回滾,但是我的需求就是為了新功能而持續加字段,並不需要回滾,所以我的解決方案 就是每次都清空migrations 這張表,因為這張表就是控制能否反复運行同一個遷移檔案的地方,程式碼如下:
trait Trait_Migrate
{
    /**
     * @desc 数据表:初始化
     * @return Void
     */
    static public function CI_Table_Structure() : Void
    {
        # 清空记录表以保证能持续迁移
        DB::table( 'migrations' ) -> truncate();
        # 执行迁移
        Artisan::call( 'migrate --force --path=/database/migrations/' . SELF::$CI_File );
    }

}
登入後複製
  • 總的來說完全按照框架文件的規則來就會一帆風順,可是做專案遇到框架預設功能無法滿足需求的情況是非常正常的

相關推薦:最新的五個Laravel影片教學

以上是避坑! Laravel資料庫遷移功能的坑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板