renepardon / laravel-seeder
基于版本的、环境驱动的 Laravel Seeders
v8.0.2
2021-03-22 12:18 UTC
Requires
- php: >=7.4.0
- illuminate/console: ^8.0
- illuminate/database: ^8.0
- illuminate/filesystem: ^8.0
- illuminate/support: ^8.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ^5.2
- phpunit/phpunit: ^9.0
README
在 Laravel 中,当前的数据种子方法仅适用于开发构建,但如果你正在迭代创建数据库,希望在开发过程中不断清除并重新填充数据库,怎么办呢?
如果你想在开发中使用不同数据来种子生产数据库,或者想在已投入生产的数据库中添加新表并使用新数据进行种子,怎么办呢?
LaravelSeeder 将 Laravel 的数据库迁移功能扩展到数据库种子器,使其“可迁移”。所有你熟悉的所有 Laravel 迁移功能都已在种子器中实现,并具有类似的行为。
要求
- Laravel >= 7
- PHP >= 7.4
安装
- 运行
composer require renepardon/laravel-seeder
- 运行
php artisan vendor:publish
以将配置文件推送到你的配置文件夹,如果你想覆盖种子器文件夹的名称或存储种子的表名
特性
- 允许你在不同的环境中使用不同的值来种子数据库。
- 允许你像 Laravel 当前处理迁移一样“版本化”种子。运行
php artisan seed
将仅运行尚未运行的种子。 - 允许你运行同一模型/表的多种子
- 如果你的数据库在生产中,会提示你
用法
当你安装 LaravelSeeder 时,会为你提供各种 artisan 命令,这些命令使用与迁移相同的方法。
本地开发
项目附带一个 Dockerfile,其中包含 PHP 7.4、XDebug 和 Composer,以方便本地开发。
要轻松启动本地开发环境,请使用 Docker Compose 配置
docker-compose up -d --build
默认情况下,entrypoint 脚本会为你安装 Composer 依赖项。
要运行测试套件,请执行以下操作
docker-compose exec laravel-seeder test.sh
要运行代码覆盖率套件,请执行以下操作
docker-compose exec laravel-seeder code-coverage.sh
祝测试愉快!