3

symfony2 アプリケーションの開発中に非常に便利なcapifonyという優れたツールを見つけたので、マルチステージ オプションを使用したいと考えています。すべて正常に動作しますが、他のステージのデータベース構成に問題が 1 つあります。

次があるとします。

  • 3 つの環境: 開発、本番、ステージング
  • 3 つのサーバー: ローカル - 開発、my.site.com - 運用、staging.my.site.com - ステージング

この標準的なマルチステージの例で capifony をセットアップする方法は?

呼び出す場合:

cap production deploy:migrations 

また

cap staging deploy:migrations 

キャプフォニーは

--env=prod

すべての symfony のコンソール コマンド。次のように呼び出すため、問題があります。

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

ステージングサーバー用ですが、それに使用されるデータベース構成は「prod」であるため、本番設定でスキーマの更新を実行します...どうすれば解決できますか?

4

1 に答える 1

4

元の質問に対する解決策は簡単です。set :symfony_env_prod, "staging"deploy.rb で使用します

ただし、サーバーと環境を混在させているようです。

各サーバーは完全なパッケージとして扱われ、個別のデータベースを含むあらゆる環境 (つまり、運用環境の開発サーバー) をサポートする必要があります。

さらに、ステージング サーバーのセットアップは、可能な限り本番環境に近づける必要があるため (ステージング サーバーの要点)、本番環境で実行する必要があります。

于 2013-05-26T15:57:38.487 に答える