laravel 基于migration原理的seeder

最近同事在做项目的时候,因为需要添加测试数据,利用的laravel自带的seeder进行编写数据插入,需要在服务器测试环境执行自动插入命令,导致的一个问题就是每次都需要把原来的所有数据表truncate(清空),然后再插入数据,否则会导致每次都插入重复的数据。但是清空表,这样很容易把测试环境已经产生的数据给干了,也不方便做管理。

我思索了下研究了migration,如果能够把migration的原来移植到seeder上应该可以解决这个问题,执行过的seeder不再执行。

于是花了一下午的时间把migration的原理移植过来做了一个composer包,大家如果有兴趣的可以直接使用下。

项目地址

Github: https://github.com/qiaweicom/SeniorSeeder-laravel

packagist: https://packagist.org/packages/qiaweicom/senior-seeder

a composer about seeder for Laravel 5

Install

composer require qiaweicom/senior-seeder 

Usage

如果你是使用的laravel 5.5以上版本可以直接利用composer安装即可。

composer require qiaweicom/senior-seeder 

如果使用laravel5.4及以下版本需要你手动设置laravel到服务提供列表中。

找到 config/app.php 配置文件中,key为 providers 的数组,在数组中添加服务提供者。

    'providers' => [
        // ...
        QiaWeiCom\SeniorSeeder\Providers\SeniorSeederServiceProvider::class,
    ]

运行 php artisan vendor:publish 命令,发布配置文件到你的项目中。

配置文件 config/senoir_seeder.php 一般不需要修改。

有什么问题或者建议的可以通过issue给我提交问题,谢谢。

本文已经被查看425次

发表评论

电子邮件地址不会被公开。 必填项已用*标注