Семя Laravel после миграции
Есть ли что-то, что я могу добавить в свои миграции, чтобы автоматически заполнить таблицу тестовыми данными после завершения миграции?
Или вам нужно высевать отдельно?
2 answers
Вы можете вызвать migrate:refresh
с опцией --seed
для автоматического заполнения после завершения миграции:
php artisan migrate:refresh --seed
Это приведет к откату и повторному запуску всех ваших миграций, а затем к запуску всех сеялок.
В качестве небольшого дополнения вы также всегда можете использовать Artisan::call()
для запуска команды artisan из приложения:
Artisan::call('db:seed');
Или
Artisan::call('db:seed', array('--class' => 'YourSeederClass'));
Если вам нужен конкретный класс сеялки.
Хотя Ответ лукашгайтера верен, я хотел бы подробнее остановиться на вашем втором вопросе.
Или вам нужно сеять отдельно?
Да. Поскольку вы говорите о тестовых данных, вам следует избегать соединения посева с миграцией. Конечно, если бы это были не тестовые данные, а данные приложения, вы всегда могли бы сделать вставку данных частью миграции.
В качестве отступа, если вы хотите заполнить свои данные как часть тестирование , вы можете вызвать $this->seed()
из своего тестового набора Laravel.