Семя Laravel после миграции


Есть ли что-то, что я могу добавить в свои миграции, чтобы автоматически заполнить таблицу тестовыми данными после завершения миграции?

Или вам нужно высевать отдельно?

Author: imperium2335, 2015-02-11

2 answers

Вы можете вызвать migrate:refresh с опцией --seed для автоматического заполнения после завершения миграции:

php artisan migrate:refresh --seed

Это приведет к откату и повторному запуску всех ваших миграций, а затем к запуску всех сеялок.


В качестве небольшого дополнения вы также всегда можете использовать Artisan::call() для запуска команды artisan из приложения:

Artisan::call('db:seed');

Или

Artisan::call('db:seed', array('--class' => 'YourSeederClass'));

Если вам нужен конкретный класс сеялки.

 32
Author: lukasgeiter, 2015-02-11 20:31:59

Хотя Ответ лукашгайтера верен, я хотел бы подробнее остановиться на вашем втором вопросе.

Или вам нужно сеять отдельно?

Да. Поскольку вы говорите о тестовых данных, вам следует избегать соединения посева с миграцией. Конечно, если бы это были не тестовые данные, а данные приложения, вы всегда могли бы сделать вставку данных частью миграции.

В качестве отступа, если вы хотите заполнить свои данные как часть тестирование , вы можете вызвать $this->seed() из своего тестового набора Laravel.

 3
Author: Jason McCreary, 2017-05-23 12:31:58