Laravel предоставляет функцию, которая позволяет создавать общие данные, необходимые для запуска приложения при первом запуске.Часто семена состоят из таких вещей, как список стран, ингредиентов, ролей пользователей и, возможно, даже пользователя по умолчанию.
При написании тестов вы также можете использовать Faker et al для создания временных наборов данных.
Обе эти функции великолепны и исключительно соответствуют цели.
Иногда, однако, нам необходимо запускать ручные тесты веб-приложений Laravel, которые состоят из десятков таблиц и сотен или тысяч строк данных.(или даже сотни тысяч строк).Например, если мы хотим загрузить тестовое веб-приложение, нам нужно сгенерировать все эти данные (а не использовать фактические производственные данные).
Я хотел бы изменить команду artisan migrate --seed
, включив в нее --scenario=loadtesting
, чтобы сообщить Laravel, какие начальные файлы использовать или иметь возможность установить флаг внутри начальных файлов, который говорит if ( 'loadtesting' == $scenario ) { $rows = 1000000; }
.
Я посмотрел на класс Seeder.php внутри папки Illuminate (ну,вложенная папка Illuminate), но я не вижу возможности прервать процесс создания начального числа.
Мне интересно, может ли кто-нибудь подробно описать шаги, необходимые для реализации вышеуказанной функции, без перезаписи файлов Laravel (что-нибудь у продавца, если быть точным).Я подозреваю, что Функции ORM компании Faker могут сыграть ключевую роль в любом рекомендованном решении.
Заранее спасибо.