Заповнення бази даних (database seeding) — це процес наповнення бази даних початковими даними, що є важливим під час розробки, тестування та первісного налаштування додатку. Зазвичай розробники заповнюють базу даних тестовими даними, але іноді стає необхідним використовувати реальні дані з продуктивної бази. Пакет Laravel Seeder Generator, створений Андре Хайкал Рахманом, допомагає генерувати файли сідів Laravel, використовуючи реальні дані з вашої бази даних.
Встановіть цей пакет через Composer:
composer require --dev tyghaykal/laravel-seed-generator
Після встановлення ви можете згенерувати сід за допомогою наступної команди:
php artisan seed:generate --model-mode --models=Your\Model
Примітка: Якщо вам потрібно вказати кілька моделей, розділіть їх комою.
Існує кілька опцій для налаштування даних, що включені у ваш сід. Наприклад, ви можете відфільтрувати дані, використовуючи опцію --where
:
php artisan seed:generate --model-mode --models=Your\Model --where=field,type,value
Для включення конкретних записів за їх id
використайте:
php artisan seed:generate --model-mode --models=Your\Model --ids="1,2,3"
Примітка: Цю опцію можна використати лише з однією моделлю.
Серед інших доступних опцій є --where-in
, --where-not-in
, --order-by
, --fields
, --relations
, --without-relations
та інші.
Окрім --model-mode
, ви можете також генерувати сіди на основі таблиць, використовуючи опцію --table-mode
. Наприклад:
php artisan seed:generate --table-mode --tables=your_table_name
Щоб вказати кілька таблиць, розділіть їх комами.
Ви можете відфільтрувати дані для вашого сіда за допомогою опцій, аналогічних тим, що використовуються з моделями.
Виконання будь-якої з цих команд згенерує ваш сід у каталозі Laravel database/seeders
. Однак ви можете змінити місце збереження згенерованого файлу сіда, використовуючи опцію --output
.
Щоб дізнатися більше про цей пакет, перегляньте джерело на GitHub.