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

如题所述

安装

1). 直接运行以下命令安装扩展包
composer require orangehill/iseed

2). 在你的 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 数据:

将生产环境的备份数据导入到某一个开发者的电脑中;
此开发者运行 php artisan iseed ... 生成指定的 seeder 文件;
将 seeder 文件提交版本管理, 其他人同步更新并导入.
温馨提示:答案为网友推荐,仅供参考
相似回答