renepardon/laravel-seeder

基于版本的、环境驱动的 Laravel Seeders

v8.0.2 2021-03-22 12:18 UTC

This package is auto-updated.

Last update: 2024-09-22 20:04:21 UTC


README

Build Status

在 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

祝测试愉快!