中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

laravel之增強Schema數據遷移的示例分析

發布時間:2021-03-11 12:43:30 來源:億速云 閱讀:126 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關laravel之增強Schema數據遷移的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

再重構公司的項目的時候呢,每次創建一個遷移類新增一個數據表的時候,
都需要指定新增 deleted_at, created_at, updated_at, last_operater, last_operater_id
這五個字段,分別記錄著 每一行的 刪除時間,新增時間,修改時間,最后操作人名,最后操作人id,

因此,能不能讓他自動創建這些字段,而無需我自己來手動復制粘貼代碼呢?有時候還忘記了呢!!

  • 第一次:進行給Schema增強功能,也就是在原有的 創建遷移文件命令: php artisan make:migration 增強這個功能,但是發現在composer 安裝的 laravel-admin的時候呢,很多的遷移文件 引發沖突的問題。


  • 第二次:為了解決這個沖突問題,進行第二次試驗:既然不能再原有命令上增強Schema的功能,那么我們增加一個命令吧php artisan make:app_migration

然而 以下對 第二次試驗的解說。

1. 下圖,再 app/Facade下新增了一個Schema類, 定義了兩個 獲取mysql的鏈接的方法,該方法,從容器中獲取db_extra的對象

laravel之增強Schema數據遷移的示例分析

2. 接著 再 app/providers/下新增一個db的服務器提供者,用于定義 $app['db_extra']服務容器 是怎么獲取這個對象的

laravel之增強Schema數據遷移的示例分析

3. 分析下圖二的其中的內容。->single 單例實例一個 工廠類,用來生產db_extra類的, 如圖三,這個工廠類放到以下圖中

laravel之增強Schema數據遷移的示例分析

4. 接著分析下 這個工廠類,進行繼承系統的生產工廠的類,進行修改其功能, 如這一次,如果是連接的mysql服務連接對象呢,我就讓他實例化我自己定義的msyql連接對象, 如圖4

laravel之增強Schema數據遷移的示例分析

5. 接下來,再這個MysqlExtraConnection.php類中,我重新覆蓋父類的方法,當執行命令新增遷移類的時候,按照我定義的遷移模板來創建一個遷移文件

laravel之增強Schema數據遷移的示例分析

6. 接下來,定義我們自己想默認新增的字段吧, 如圖6

laravel之增強Schema數據遷移的示例分析

laravel之增強Schema數據遷移的示例分析

7. 接下來,定義一個叫 make:app_migration的命令, 注意下面第二張圖 MigrationCreatorExt 依賴注入了自己新增的類,這個類用來干嘛的呢?用來輸出字符竄到 新增的遷移文件中,

laravel之增強Schema數據遷移的示例分析

laravel之增強Schema數據遷移的示例分析

8. 有創建模板,修改模板,如下圖

laravel之增強Schema數據遷移的示例分析

9. 其中在create.stub這個模板呢,我默認讓他調用我定義的Schema類,并且 注釋中備注了,默認增加的字段

laravel之增強Schema數據遷移的示例分析

10. 大功告成,配置起來有點麻煩,但是確實挺好擴展的, 還有什么更好的方法嗎,謝謝評論里討論,嘿嘿

關于“laravel之增強Schema數據遷移的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芦山县| 维西| 普兰县| 东海县| 迁安市| 灵宝市| 石狮市| 星子县| 嘉定区| 江安县| 阜平县| 平舆县| 姚安县| 多伦县| 姜堰市| 娄烦县| 泰和县| 漳平市| 会昌县| 神农架林区| 沈阳市| 长岛县| 开封市| 仪征市| 汝州市| 涡阳县| 伊金霍洛旗| 行唐县| 桑日县| 遂川县| 太原市| 古蔺县| 栾川县| 禄丰县| 密山市| 连山| 淳安县| 乌鲁木齐县| 江口县| 西青区| 老河口市|