Как отследить, какие сеялки были применены в Laravel?

Очевидный способ применять определенные семена, а не посеять все это с помощью --class флаг:

php artisan db:seed --class[=CLASS]

Есть ли способ трек какие сеялки были применены до сих пор в Laravel (скажем, точно так же, как вы можете отслеживать, как выполнялись миграции, запустив php artisan migrate:status)?

Кроме того, есть ли способ применить спектр сидеров (вместо того, чтобы указывать каждый класс индивидуально, что очень громоздко).

Что заставило меня задуматься об этом, так это то, что я написал в книге «Создание API, которые вы не будете ненавидеть»:

28         foreach ($tables as $table) {
29             DB::table($table)->truncate();
30         }
31
32         $this->call('MerchantTableSeeder');
33         $this->call('PlaceTableSeeder');
34         $this->call('UserTableSeeder');”

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

0

Решение

Я полагаю, что этот пакет был создан для запуска таких систем, как миграция: https://github.com/slampenny/SmartSeeder. Я думаю, что он будет делать то, что вы ищете.

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

1

Другие решения

Это выглядит как чрезмерное усложнение работы семян или недостаточное усложнение среды обеспечения качества.

Может быть, есть разные семена для развития и все, что вы называете постановкой / ка?

0

По вопросам рекламы [email protected]