laravel之增强模式数据迁移的示例分析

介绍

这篇文章将为大家详细讲解有关laravel之增强模式数据迁移的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

再重构公司的项目的时候呢,每次创建一个迁移类新增一个数据表的时候,
都需要指定新增deleted_at, created_at, updated_at, last_operater, last_operater_id
这五个字段,分别记录着每一行的删除时间,新增时间,修改时间,最后操作人名,最后操作人id,

因此,能不能让他自动创建这些字段,而无需我自己来手动复制粘贴代码呢?有时候还忘记了呢! !

<李>

第一次:进行给模式增强功能,也就是在原有的创建迁移文件命令:php工匠:迁移增强这个功能,但是发现在作曲家安装的laravel-admin的时候呢,很多的迁移文件引发冲突的问题。

<李>


<李>

第二次:为了解决这个冲突问题,进行第二次试验:既然不能再原有命令上增强模式的功能,那么我们增加一个命令吧php工匠:app_migration

然而以下对第二次试验的解说。

1。下图,再应用/外观下新增了一个模式类,定义了两个获取mysql的链接的方法,该方法,从容器中获取db_extra的对象

 laravel之增强模式数据迁移的示例分析

2。接着再应用/供应商/下新增一个db的服务器提供者,用于定义应用美元[& # 39;db_extra& # 39;]服务容器是怎么获取这个对象的

 laravel之增强模式数据迁移的示例分析

3。分析下图二的其中的内容。→单一单例实例一个工厂类,用来生产db_extra类的,如图三,这个工厂类放到以下图中

 laravel之增强模式数据迁移的示例分析

4。接着分析下这个工厂类,进行继承系统的生产工厂的类,进行修改其功能,如这一次,如果是连接的mysql服务连接对象呢,我就让他实例化我自己定义的msyql连接对象,如图4

 laravel之增强模式数据迁移的示例分析

5。接下来,再这个MysqlExtraConnection。php类中,我重新覆盖父类的方法,当执行命令新增迁移类的时候,按照我定义的迁移模板来创建一个迁移文件

 laravel之增强模式数据迁移的示例分析

6。接下来,定义我们自己想默认新增的字段吧,如图6

 laravel之增强模式数据迁移的示例分析

 laravel之增强模式数据迁移的示例分析

7。接下来,定义一个叫:app_migration的命令,注意下面第二张图MigrationCreatorExt依赖注入了自己新增的类,这个类用来干嘛的呢?用来输出字符窜到新增的迁移文件中,

 laravel之增强模式数据迁移的示例分析

 laravel之增强模式数据迁移的示例分析

8。有创建模板,修改模板,如下图

 laravel之增强模式数据迁移的示例分析

9。其中在创造。存根这个模板呢,我默认让他调用我定义的模式类,并且注释中备注了,默认增加的字段

 laravel之增强模式数据迁移的示例分析

10。大功告成,配置起来有点麻烦,但是确实挺好扩展的,还有什么更好的方法吗,谢谢评论里讨论,嘿嘿

关于“laravel之增强模式数据迁移的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

laravel之增强模式数据迁移的示例分析