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
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 8

厉害了 world哥

7年前 评论

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

Nwidart\DbExporter\DbExportHandlerServiceProvider::class

使用php artisan命令报错

Call to undefined method [package]

请问是哪里出了问题

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

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

7年前 评论

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

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

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

7年前 评论

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

7年前 评论
颠倒的玉石

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

6年前 评论

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

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!