betalabs/laravel-seeder

基于版本的、环境相关的 Laravel Seeders。当原始版本未更新到 Laravel 5.7 时使用。

V6.4.1 2024-04-05 13:43 UTC

README

Build Status

当前 Laravel 中进行的种子操作仅适用于开发构建,但如果你是在迭代创建数据库,并希望在开发过程中不断清空并重新填充数据库,那该怎么办呢?

如果你想使用与开发中不同的数据来初始化生产数据库怎么办?如果你想在当前处于生产状态的数据表中添加新数据怎么办?

LaravelSeeder 将 Laravel 中的数据库迁移功能扩展到数据库种子器中,使其“可迁移”。所有你已经习惯的 Laravel 迁移功能都已在种子器中实现,并具有类似的行为。

要求

  • Laravel >= 5.4
  • PHP >= 7.1

安装

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

功能

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

使用方法

当你安装 LaravelSeeder 时,会提供各种 artisan 命令,这些命令使用的方法与你使用迁移时使用的方法相同。

本地开发

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

要轻松启动本地开发环境,请使用 Docker Compose 配置

docker-compose up -d --build

默认情况下,entrypoint 脚本会为你安装 Composer 依赖项。

要运行测试套件,请执行以下操作

docker-compose exec laravel-seeder test.sh

要运行代码覆盖率套件,请执行以下操作

docker-compose exec laravel-seeder code-coverage.sh

祝您测试愉快!