Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony capifony多级部署和每个阶段的数据库配置_Symfony_Deployment_Capifony - Fatal编程技术网

Symfony capifony多级部署和每个阶段的数据库配置

Symfony capifony多级部署和每个阶段的数据库配置,symfony,deployment,capifony,Symfony,Deployment,Capifony,我发现名为的优秀工具在开发symfony2应用程序时非常有用,我想使用多级选项。所有这些都可以正常工作,但我在其他阶段的数据库配置方面有一个问题 假设我们有: 3个环境:开发、生产、暂存 3台服务器:local-development、my.site.com-production和staging.my.site.com-staging 如何为这个标准多级示例设置capifony 当我们打电话时: cap production deploy:migrations 或 capifony使用

我发现名为的优秀工具在开发symfony2应用程序时非常有用,我想使用多级选项。所有这些都可以正常工作,但我在其他阶段的数据库配置方面有一个问题

假设我们有:

  • 3个环境:开发、生产、暂存
  • 3台服务器:local-development、my.site.com-production和staging.my.site.com-staging
如何为这个标准多级示例设置capifony

当我们打电话时:

cap production deploy:migrations 

capifony使用

--env=prod
对于所有symfony的控制台命令。有一个问题,因为我们称之为:

app/console doctrine:migrations:migrate --env=prod

用于暂存服务器,但用于它的数据库配置为“prod”,因此我们在生产设置中运行架构更新。。。如何解决它?

原始问题的解决方法很简单,请在deploy.rb中使用
set:symfony\u env\u prod,“staging”

然而,您似乎将服务器与环境混为一谈

每个服务器都应被视为一个完整的包,并支持任何环境(即带有生产环境的dev服务器),包括单独的数据库


此外,暂存服务器的设置应该尽可能接近生产环境(这是暂存服务器的整个要点),所以它应该在生产环境中运行。

您的意思是每个环境应该有一台服务器?如果我的主机提供商只为数据库主机提供“localhost”,那么共享主机又如何呢?您不需要两台不同的服务器。只需部署到不同的域/虚拟主机,如stage.myapp.com(staging)和myapp.com(prod)。创建两个数据库myapp_staging和myapp_production,并使用远程服务器上的parameters.yml链接到这些数据库。
app/console doctrine:migrations:migrate --env=prod