将Laravel 数据表里的数据导出成 Seeder 文件

本文介绍如何使用Laravel的iseed扩展包快速填充本地数据以辅助开发调试工作。通过简单的命令行操作即可将现有数据库表的数据转换为seeder文件,方便团队成员之间的数据同步。

开发者使用 Laravel 部署一个新项目的时候, 通常会使用 seeder 快速填充本地数据以方便开发调试。iseed 扩展包提供了可将数据表里的数据直接转换为 seeder 文件的功能。说白了就是将数据表里的数据以 seed 的方式导出

开始安装:

composer require "orangehill/iseed": "2.2"

composer.json文件的require中加入 laravel《5.4的

"orangehill/iseed": "2.2"

然后执行

composer update

 在你的 config/app.php 文件中添加 Service Provider

'providers' => [
    ...
    Orangehill\Iseed\IseedServiceProvider::class,
],

安装结束, 就这么简单.

基础用法

导出指定表的数据

在 php artisan iseed 后面带上本地数据表的名称, 可直接将数据库表的内容转换为 seeder 文件.

如下可生成 users 表的 seeder 文件:

php artisan iseed users

也可选择同时生成 users 和 topics seeder 文件:

php artisan iseed users,topics
强制覆盖导出文件 -- force

在命令行后面带上 force 参数, 将强制覆盖原有生成的 seeder 文件, 如下:

php artisan iseed users --force

将直接覆盖之前生成的 UsersTableSeeder.php 文件

根据上面两个命令导出的 UsersTableSeeder.php 文件内容如下图:


导出指定数据库里的表 -- database

使用 database 参数, 可指定数据库里的数据表, 如下:

php artisan iseed users --database=mysql2

推荐实践

在实际开发的过程中, 为了不影响生产环境的正常运转, 建议使用以下方式同步开发者的 seed 数据:

  1. 将生产环境的备份数据导入到某一个开发者的电脑中;
  2. 此开发者运行 php artisan iseed ... 生成指定的 seeder 文件;
  3. 将 seeder 文件提交版本管理, 其他人同步更新并导入.

更多用法

关于其它更加详尽的命令行, 如: max, prerun, postrun 等使用可查看 原文档.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值