Laravel 将数据表的数据导出,并生成seeds种子文件

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

安装isseed

  • 安装isseed,我这里是laravel 5.4,安装的iseed是2.1版本的,你们看情况,随意
composer require "orangehill/iseed": "2.1"
  • 将iseed加入到composer.json文件中去
Laravel 将数据表的数据导出,并生成seeds种子文件_第1张图片

  • 把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=数据库名
基本上就是这么用的,差不多就到这里, 实践是检验真理的唯一标准,还不快去。。。

你可能感兴趣的:(Laravel)