定制 webed/seed-flow 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

webed/seed-flow

最新稳定版本:v1.0.0

Composer 安装命令:

composer require webed/seed-flow

包简介

SeedFlow - manage seeders like migrations with environment support, rollback, and strict execution order.

README 文档

README

Русский | English

SeedFlow — Laravel-пакет для управления сидерами как миграциями: строгий порядок, учет выполненных, привязка к среде (env), rollback.

Для чего этот пакет?

Во многих проектах stage/test/prod — это большие “боевые” базы данных. Чтобы новому разработчику начать работу, часто приходится:

  • скачивать дамп к себе (долго, тяжело, иногда невозможно);
  • или подключаться к удаленной базе, рискуя повлиять на ее стабильность и/или допустить утечку данных.

Это не только неудобно, но и создает существенные риски безопасности и конфиденциальности.

Отсутствие сидеров в проекте — антипаттерн, который заметно замедляет онбординг и усложняет воспроизводимость окружения.

SeedFlow помогает строить разработку и тестирование на искусственных данных:

  • данных обычно нужно не много, но они должны покрывать кейсы для удобного ручного/авто тестирования;
  • в тестовой базе можно задать “удобные” правила (например, один пароль для всех, email в стиле user@email.ru);
  • можно завести отдельные сидеры под test-среду, чтобы не повторять одно и то же в тестах.

Быстрый старт

  1. Установите пакет
composer config repositories.seed-flow vcs git@github.com:bitcasterx/seed-flow.git
composer require webed/seed-flow:^1.0
  1. Создайте таблицу учета (обычная миграция Laravel)
php artisan migrate
  1. Создайте сидер для нужной среды
php artisan webed:seedflow:make create_roles_seeder --env=dev
  1. Запустите сидирование
php artisan webed:seedflow:seed --env=dev
  1. (опционально) Откатите последний сидер
php artisan webed:seedflow:rollback --env=dev --steps=1

Проверить требования

  • PHP 8.2+
  • Laravel 8+

Понять структуру

Сидеры лежат по средам:

  • database/seeders/SeedFlow/dev/
  • database/seeders/SeedFlow/test/
  • database/seeders/SeedFlow/stage/
  • database/seeders/SeedFlow/prod/

Таблица учета:

  • webed_processed_seeders (id, seeder, env, processed_at)

Создать новый сидер

php artisan webed:seedflow:make <name> --env=dev,stage
  • Путь: database/seeders/SeedFlow/{env}/
  • Имя файла: timestamp_name.php (как у миграций)
  • Класс: отдельный для каждого env, методы up() и down()

Запустить сидирование

php artisan webed:seedflow:seed [--env=dev] [--force]
  • env по умолчанию: берется из APP_ENV
  • Запускаются только невыполненные сидеры (учет в webed_processed_seeders)
  • Строгий порядок: по имени файла (timestamp)

Если в таблице учета обнаружены записи другой среды (например, после импорта базы), выполнение заблокировано и требует флага:

  • --force

Пример вывода:

2025_01_01_000001_create_roles_seeder ..... ok

Откатить сидеры

php artisan webed:seedflow:rollback [--env=dev] [--steps=3]
  • Откатывает последние N сидеров текущей среды
  • Вызывает down() (может быть пустым)
  • Удаляет запись из webed_processed_seeders

Rollback возможен только внутри одной env. Если в таблице есть сидеры другой среды → ошибка.

Использовать разные среды разработки

  • dev: удобные данные для локальной разработки (например, “универсальный пароль”)
  • test: стабильные данные для автотестов/интеграционных проверок
  • stage: данные, близкие к предпрод-окружению
  • prod: сидирование прод окружения (обычно осторожно и минимально)

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固