1

我是使用 Laravel 4 的新手,在我的本地主机中运行它。我想知道如何让工匠跳过Do you really wish to run this command?每次执行迁移命令时询问的问题?我只想立即执行命令而不输入y. 并且也没有--force在迁移命令的末尾添加。

我知道提示在生产中非常重要,但我觉得它有点烦人,尤其是当你在教程中时。我只是想把它关掉,让生活更轻松。

任何帮助将不胜感激。

4

2 回答 2

4

如果您将环境设置为本地,您将不会收到警告问题,因为这仅在 Laravel 检测到您处于生产状态时才会显示,错误地运行迁移可能是危险的。您只需在bootstrap/start.php文件中添加以下内容:

$env = $app->detectEnvironment(array(
    // The array value should be your hostname
    'local' => array('your-machine-name'),
));

以上将允许 Laravel 在检测到您的计算机主机名与您指定的主机名匹配时将环境设置为本地,从而避免显示该消息。


有关配置环境的更多信息以及从中获得的优势,请阅读Laravel 环境配置文档

于 2015-10-16T01:33:58.010 回答
1

在 Bogdan 的回答和评论中添加更多内容。

如果你不熟悉 Laravel 中的环境概念,它可以为你的应用程序运行的环境指定不同的配置。例如,你的本地环境中的数据库凭据与实时服务器(生产环境)中的数据库凭据不同。

因此,您不应该使用的一个原因是,无论您在哪里运行它(您的本地机器、测试环境或生产'local' => array(gethostname())环境),这都会使您的环境成为可能。local

这是确定环境的首选方法

$env = $app->detectEnvironment(function() { 
    return getenv('APP_ENV') ? : 'production'; 
});

因此,除非您在 VHOST 文件中设置了环境变量,否则它将默认为生产环境。

但是由于您无论如何都没有指定您的环境变量,我建议您坚持使用 Bogdan 的解决方案。

于 2015-10-16T05:51:23.370 回答