- #環境:
Laravel 8
- 需求用到
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 ); } }
登入後複製
- 總的來說完全按照框架文件的規則來就會一帆風順,可是做專案遇到框架預設功能無法滿足需求的情況是非常正常的