bionicmaster/laravel-seeder

Laravel的基于版本和环境的种子器

5.5.1 2018-01-16 16:20 UTC

This package is auto-updated.

Last update: 2024-09-14 03:28:33 UTC


README

目前Laravel中的Seeding仅适用于开发构建,但如果你在迭代创建数据库并希望在开发过程中不断清空并重新填充数据库怎么办?

如果你想在生产数据库中种入与开发中使用不同的数据怎么办?如果你想在生产数据库中种入新数据,而这个数据库中已经有一个表怎么办?

LaravelSeeder将Laravel中的数据库迁移功能扩展到数据库种子器中,使它们“可迁移”。所有你习惯使用的Laravel迁移功能都已被镜像,并且对种子器来说行为类似。

要求

  • Laravel >= 5.4
  • PHP >= 7.1

安装

  • 运行 composer require bionicmaster/laravel-seeder
  • Eighty8\LaravelSeeder\SeederServiceProvider::class 添加到 app/config/app.php 中的 providers 数组
  • 运行 php artisan vendor:publish 将配置文件推送到你的配置文件夹,如果你想要覆盖种子文件夹的名称或存储种子的表的名称

特性

  • 允许你在不同的环境中使用不同的值来种子数据库。
  • 允许你像Laravel当前处理迁移一样“版本化”种子。运行 php artisan seed 只会运行尚未运行的种子。
  • 允许你运行同一模型/表的多个种子
  • 如果您的数据库处于生产状态,则进行提示

用法

当你安装LaravelSeeder时,会提供各种Artisan命令,这些命令使用你习惯与迁移一起使用的方法。

本地开发

项目包含一个带有PHP 7.1和Composer的Dockerfile,以方便本地开发。

构建镜像

docker build -t laravel-seeder .

安装Composer依赖项

docker run -v "$PWD":/usr/local/src laravel-seeder composer install

运行PHPUnit测试

docker run -v "$PWD":/usr/local/src laravel-seeder vendor/bin/phpunit