2013-05-26 29 views
3

我发现了一个名为capifony的优秀工具,它在开发symfony2应用程序时非常有用,我想使用多级选项。所有工作正常,但我有其他阶段的数据库配置的一个问题。capifony多级部署和每个阶段的数据库配置

假设我们有:

  • 3环境:开发,生产,分期
  • 3服务器:地方 - 发展,my.site.com - 生产和staging.my.site.com - 分期

如何为此标准多级示例设置capifony?

当我们致电:

cap production deploy:migrations 

cap staging deploy:migrations 

的capifony使用

--env=prod 

所有的symfony的控制台命令。这里有一个问题,因为我们致电:

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

分期服务器,但使用它的数据库配置是“刺”,让我们运行在生产中设置架构更新...如何解决呢?

回答

4

解决您原来的问题很简单,在deploy.rb

然而使用set :symfony_env_prod, "staging",你似乎与环境中混合服务器。

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

此外,登台服务器设置应尽可能接近生产(这是登台服务器的整点),因此它应该在生产环境中运行。

+0

你的意思是我应该有一个服务器每个环境?当我的主机提供商提供:“localhost”仅用于数据库主机时,共享主机怎么办? –

+0

您不需要两个不同的服务器。只需部署到不同的域/虚拟主机,如stage.myapp.com(staging)和myapp.com(用于产品)。创建两个数据库myapp_staging和myapp_production,并使用远程服务器上的parameters.yml链接到这些数据库。 – webDEVILopers