我已经设置了一些事件侦听器,我想在其中检测我是否正在运行runnnig数据库迁移或正常的请求/命令。
是否有某种了解方法?全局标志?环境?
谢谢。
答案 0 :(得分:0)
您可以检查控制台是否与App::runningInConsole()
一起使用...可能就足够了,具体取决于您如何运行迁移。
更新:
好吧,在进行了一些进一步的挖掘之后,您似乎可以使用以下示例来破解所需信息的方式:
if(app()->runningInConsole()) {
// we are running in the console
$argv = \Request::server('argv', null);
// :$ php artisan migrate:refresh -v
//
// gives:
//
// $argv = array (
// 0 => 'artisan',
// 1 => 'migrate:refresh',
// 2 => '-v',
// )
if($argv[0] == 'artisan' && \Illuminate\Support\Str::contains($argv[1],'migrate')) {
// we are running the artisan migrate command
}
}