我是使用Laravel 4的新手,在我的localhost中运行它。我想知道我每次执行迁移命令时如何让工匠跳过询问Do you really wish to run this command?
的问题?我只想在不键入y
的情况下立即执行命令。并且在迁移命令的末尾不添加--force
。
我知道提示对于制作非常重要,但我发现它有点烦人,特别是当你在教程中时。我只是想把它关掉以使生活更轻松。
非常感谢任何帮助。
答案 0 :(得分:4)
如果您将环境设置为本地,则不会出现警告问题,因为仅当Laravel检测到您处于生产时才会显示该问题,其中运行迁移错误可能是危险的。您只需在bootstrap/start.php
文件中添加以下内容:
$env = $app->detectEnvironment(array(
// The array value should be your hostname
'local' => array('your-machine-name'),
));
以上将允许Laravel在检测到您的计算机主机名与您指定的计算机主机名匹配时将环境设置为本地,从而避免显示该消息。
有关配置环境的更多信息以及从中获得的优势,请阅读Laravel Environment Configuration Docs。
答案 1 :(得分:1)
为Bogdan的回答和评论添加更多内容。
如果您不熟悉Laravel中的环境概念,则可以指定特定于应用程序运行环境的不同配置。例如,您的本地环境中的数据库凭据将不同于实时服务器(生产环境) ENV)。
因此,您不应该使用'local' => array(gethostname())
的一个原因是,无论您在何处运行(本地计算机,测试环境或生产),这都会使您的环境local
。
这是确定env
的首选方法$env = $app->detectEnvironment(function() {
return getenv('APP_ENV') ? : 'production';
});
因此,除非您在VHOST文件中设置了环境变量,否则它将默认为生产。
但是既然你没有指定你的env变量,我建议你坚持使用Bogdan的解决方案。