Расширить команды Laravel по умолчанию или заблокировать их при работе?

#php #laravel #laravel-5 #laravel-artisan #artisan-migrate

#php #laravel #laravel-5 #laravel-artisan #artisan-миграция

Вопрос:

Есть несколько команд, которые я не хочу запускать на производстве. Например, я хотел бы заблокировать использование php artisan migrate:reset на производстве.

Я хотел бы полностью заблокировать эту команду ИЛИ обновить шаблон, который artisan использует при запуске php artisan make:migration . Причина обновления шаблона заключается в том, что я могу заставить шаблон расширять другой класс вместо класса миграции. В этом новом классе я могу внедрить свою пользовательскую логику защиты. Я просто не хочу, чтобы другие разработчики использовали команду artisan и расширяли неправильный класс.

Ответ №1:

Ну,

  1. Laravel всегда запрашивает подтверждение при запуске команд миграции в рабочей среде в целях безопасности.

  2. Другие разработчики не должны иметь доступа к вашей рабочей среде. Обычно почти никто из разработчиков не имеет доступа к рабочей среде. И даже если бы они это сделали, зачем им запускать там команды миграции?

Если вы все еще уверены, что хотите это сделать, вы можете просто добавить очень простое условие (if app()-> environment(‘production’)) при загрузке команды в процессе начальной загрузки или внутри самого класса command.