Laravel db:seed не работает без параметра --class

Бег php artisan db:seed почему-то не работает на моем проекте Laravel 5.6.

  • Команда выполняется (тихо) даже без базы данных
  • Не возвращает никаких ошибок на терминале

Тем не менее, когда я бегу php artisan db:seed --class=ClassNameTableSeeder оно работает. Что может быть причиной такого странного поведения?

NB: Похож на вопросы типа 39521913, но не дубликат.

1 ответ

Решение

Это потому что по умолчанию DatabaseSeeder ничего не делает. Оригинальный код в свежем проекте Laravel выглядит так:

public function run()
{
    // $this->call(UsersTableSeeder::class);
}

Таким образом, чтобы запустить любую базу данных, вы должны раскомментировать эту строку и указать допустимое имя класса, например:

$this->call(ClassNameTableSeeder1::class);
$this->call(ClassNameTableSeeder2::class);

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

Другие вопросы по тегам