Laravel将数据表的数据导出生成seeds文件

用过laravel的都知道,我们表里面的数据通常是保存到seeder文件中,但是有些时候需要将表里已有的数据导出到seed文件中,那么怎么导出呢,其实这里有个扩展包叫iseed,我们可以利用它来把数据表里的数据导出到seed中。


安装isseed


安装isseed,我这里是laravel 5.4,安装的iseed是2.1版本的,你们看情况,随意

composer require "orangehill/iseed": "2.1"

将iseed加入到composer.json文件中去




把iseed加入到服务提供者


在laravel项目目录 config/app.php 添加providers

'providers' => [

 ...

 Orangehill\Iseed\IseedServiceProvider::class,

],

更新composer 命令行执行

composer update

到此安装结束


iseed用法


导出单个表的数据


比如我要表某个表的数据导出到seed文件,那么命令为:php artisan iseed 你要转换的表名


假如说我要用户表的数据导出,命令应该是:

php artisan iseed users

导出多个表的数据


和导出单个类似,多个表用逗号隔开

php artisan iseed 表1,表2

导出数据并且强制覆盖


有时候我们导出的时候,这个seed文件已经存在了,我们要覆盖它,要怎么做呢


很简单,其他不变,只需要在命令中加入--force就OK了,


php artisan iseed 表名1[,表名2...]--force

导出指定的数据库里指定的表,并生成seed文件

php artisan iseed 表名--database=数据库名


有话要说