Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Як запустити сідери, усі разом і окремо?

php artisan db:seed                        # DatabaseSeeder
php artisan db:seed --class=UserSeeder     # один конкретний
php artisan migrate:fresh --seed           # перебудувати базу й наповнити

DatabaseSeeder - точка входу. Він викликає інші сідери в потрібному порядку:

class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        $this->call([
            UserSeeder::class,
            PostSeeder::class,   // після користувачів - пости мають авторів
        ]);
    }
}

Новий сідер створює php artisan make:seeder UserSeeder, і його треба додати в call(), інакше db:seed без --class його не запустить.

На продакшені команда питає підтвердження; у скриптах деплою додають --force. Але сідери з тестовими даними там не запускають узагалі - лише ідемпотентні довідники.

migrate:fresh видаляє всі таблиці - для локальної бази з даними, які шкода втратити, краще окремий db:seed --class=....

Докладніше в документації: Запуск сідерів

Перевір себе

20 випадкових питань за спробу, після завершення - розбір кожної помилки

Схожі питання