资讯专栏INFORMATION COLUMN

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

BigTomato / 2771人阅读

摘要:本文经授权转自社区说明开发者使用部署一个新项目的时候通常会使用快速填充本地数据以方便开发调试扩展包提供了可将数据表里的数据直接转换为文件的功能本项目由团队成员整理发布首发地为社区使用场景通常情况下我们会希望本地开发环境数据与生产完全一致这样

本文经授权转自 PHPHub 社区

说明

开发者使用 Laravel 部署一个新项目的时候, 通常会使用 seeder 快速填充本地数据以方便开发调试.

iseed 扩展包提供了可将数据表里的数据直接转换为 seeder 文件的功能.

本项目由 The EST Group 团队成员 @monkey 整理发布, 首发地为 PHPHub 社区.

使用场景

通常情况下, 我们会希望本地开发环境数据与生产完全一致, 这样开发者的开发与调试会更加的直观、有效率.
当我们想将生产环境的数据同步到所有开发者的系统中, 此扩展包将会非常有用.

文章的 DEMO 项目 截图

运行

Demo 代码请见:
https://github.com/zhengjinghua/est-isee...

请参照此文档运行 Demo:
https://phphub.org/topics/1902

文章概览

安装;

基础用法;

推荐实践;

更多用法.

接下来是详细解说

安装

1). 直接运行以下命令安装扩展包

composer require orangehill/iseed

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

"providers" => [
    ...
    OrangehillIseedIseedServiceProvider::class,
],

安装结束, 就这么简单.

基础用法 导出指定表的数据

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

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

php artisan iseed users

也可选择同时生成 userstopics 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 数据:

将生产环境的备份数据导入到某一个开发者的电脑中;

此开发者运行 php artisan iseed ... 生成指定的 seeder 文件;

将 seeder 文件提交版本管理, 其他人同步更新并导入.

更多用法

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


欢迎关注 LaravelTips, 一个专注于为 Laravel 开发者服务, 致力于帮助开发者更好的掌握 Laravel 框架, 提升开发效率的微信公众号.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21470.html

相关文章

  • Laravel 中的数据迁移和数据填充

    摘要:本文首发于作者这是一篇基础教程,对标文档中的数据迁移和数据填充。那么,中的数据库迁移概念,就是用于解决团队中保证数据库结构一致的方案。和不同,如果多次执行就会进行多次数据填充。好了,数据迁移和数据填充的基本操作也就这些了。 showImg(https://segmentfault.com/img/remote/1460000012252769?w=648&h=422); 本文首发于 h...

    mengera88 评论0 收藏0
  • Laravel学习笔记之Seeder填充数据小技巧

    摘要:而且,与是一对多关系一个分类下有很多,一个只能归属于一个与是一对多关系一篇博客下有很多,一条只能归属于一篇与是多对多关系一篇有很多,一个下有很多。 说明:本文主要聊一聊Laravel测试数据填充器Seeder的小技巧,同时介绍下Laravel开发插件三件套,这三个插件挺好用哦。同时,作者会将开发过程中的一些截图和代码黏上去,提高阅读效率。 备注:在设计个人博客软件时,总会碰到有分类Ca...

    cgspine 评论0 收藏0
  • laravel artisan

    摘要:用法显示当前的帮助信息不输出任何信息显示当前版本强制输出禁用输出不进行交互运行环境详细输出普通更加详细可用命令全局命令清除编译生成的文件,相当于的反操作将站点设为维护状态显示当前运行环境来源于 laravel artisan 用法 $ php artisan Laravel Framework version 5.1.46 (LTS) Usage: command [options] ...

    Betta 评论0 收藏0
  • Laravel 菜鸟晋级之路

    摘要:用也有三四个月了,虽然是兼职开发,但是使用的频率非常之高,毕竟是产品化的一个项目。第二阶段数据库和开发了比较多的功能之后,会发现需要大量的测试数据,这时候和就该大显身手了。 用Laravel也有三四个月了,虽然是兼职开发,但是使用的频率非常之高,毕竟是产品化的一个项目。在这期间,也踩了无数的坑,走了很多弯路,所以准备把最近的感悟记录下来,方便后来者。 第一阶段:简单的增删改查 这是最...

    YacaToy 评论0 收藏0
  • 如何Laravel 项目中处理 Excel 文件

    摘要:本文经授权转自社区说明是一款强大的文件处理扩展包能够快速完成文件的的导出解析等功能本项目由团队成员整理发布首发地为社区文章的项目截图运行代码请见请参照此文档运行文章概览安装基础用法更多功能接下来是详细解说安装使用安装该扩展包安装完成后, 本文经授权转自 PHPHub 社区 说明 maatwebsite/excel 是一款强大的 Excel 文件处理扩展包, 能够快速完成 Excel 文...

    chadLi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<