Laravel 扩展推荐: DbExporter 逆向 Migration 和 db:seed

说明#

有时候我们需要工作在已有的数据库上,或者因为项目需求,需要对数据进行导出,并要求方便导入,DbExporter 扩展包可以帮助你.

什么是 Migration 和 Seed#

  • migrate (迁移) 功能:是一种数据库的版本控制。可以让团队在修改数据库结构的同时,保持彼此的进度一致。迁移通常会和结构生成器一起使用,可以简单的管理数据库结构。
  • db:seed: Laravel 可以简单的使用 seed 类填充测试数据到数据库。

逆向 Migration 和 Seed?#

  • 从已经存在的数据库里面导出数据库结构的 Migrate 文件,供 php artisan migrate 命令执行;
  • 从已有的数据库里面导出数据为 Seed 文件,供 php artisan db:seed 命令执行.

安装#

安装依赖:

composer require "nwidart/db-exporter:1.*"

添加 Service Providers 到 app/config/app.php:

'Nwidart\DbExporter\DbExportHandlerServiceProvider'

(可选的) 发布配置信息:

php artisan config:publish nwidart/db-exporter

使用#

安装完成后,会发现 php artisan 下多了三个命令:

file

执行命令后的结果:

file

生成的文件:

file

结语#

类似的扩展包还有:

摈弃世俗浮躁,追求技术精湛
本帖已被设为精华帖!
Summer
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 8

厉害了 world 哥

8年前 评论

博主您好,我在第二步添加 service provider 之后

Nwidart\DbExporter\DbExportHandlerServiceProvider::class

使用 php artisan 命令报错

Call to undefined method [package]

请问是哪里出了问题

8年前 评论
猴子真的会偷桃

@fengtianhe 我也遇到了、请问你怎么解决了?

8年前 评论

@猴子真的会偷桃 我找了好多都是说执行 php artisan config:clear 然后再 php artisan vonder:publish

8年前 评论
猴子真的会偷桃

@fengtianhe 我换了个组件。https://github.com/Xethron/migrations-gene... 这个,挺好用的,我正在用这个

8年前 评论

@猴子真的会偷桃 migrate:generate 这个命令是将结构和数据全备份么

8年前 评论
颠倒的玉石

laravel5.5 博主,第二步加了 Nwidart\DbExporter\DbExportHandlerServiceProvider::class, 之后,直接报错 DbExportHandlerServiceProvider.php 127.undefined method Illuminate\Foundation\Application::share () 这是怎么回事

7年前 评论

@scenery LV5.4 以上版本不能用,反正我的是 5.4 是不能用的,这个包一年多没更新了,你使用 iseed 那个包吧

6年前 评论