Заповнення бази даних (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.
Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті
Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю