扩展 Laravel 的默认命令还是在生产中阻止它们?

Extend Laravel's Default Commands or Block them on production?

有一些 Artisan 我不想在生产中使用的命令 运行。例如,我想阻止在生产环境中使用 php artisan migrate:reset

我想完全阻止这个命令 或者 更新 artisan 在 运行ning php artisan make:migration 时使用的模板。更新模板的原因是我可以让模板扩展一个不同的 Class 而不是迁移 class。在这个新的 class 中,我可以注入我的自定义保护逻辑。我只是不希望其他开发人员使用 artisan 命令并扩展错误的 class。

嗯,

  1. Laravel 出于安全考虑,当您在生产环境中执行 运行 迁移命令时,总是会要求确认。

  2. 其他开发人员不应访问您的作品。通常,几乎 none 的开发人员可以访问生产环境。即使他们这样做了,他们为什么要在那里 运行 迁移命令?

如果您仍然确定要执行此操作,则可以在 bootstrap 进程或在命令 class 本身内部。