Laravel - ловите команды php artisan

Я внес некоторые изменения в свой config/app чтобы использовать несколько баз данных, выбранных клиентской частью, теперь я должен сказать в \Request()->header('database') к какой базе данных мне нужен доступ.

Он работает отлично, проблема в том, что когда я пытаюсь выполнять какие-либо ремесленные команды, моя логика умирает, потому что не информируется о базе данных.

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

php artisan migrate --database=sandiego_school
php artisan migrate:rollback --database=newyork_school 

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

1 ответ

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

\DB::setDefaultConnection($connexion);

или также вы можете просто добавить заголовок в запрос:

request()->headers->set('database', $dbname)
Другие вопросы по тегам