私の過去および現在のWeb開発ポジションでは、ステージング/ベータおよび本番/安定環境でデータベースを共有しています。
何が起こっているのかについての私の理解は次のとおりです。
ステージング/ベータ版は、一般の人々がステージング/ベータ版にアクセスできないことを除いて、基本的に本番環境/安定版のサーバーと同じです。
QAのテストが、本番/安定データの独自のサニタイズされたサブセットコピーでコードの次の反復に合格したら、開発の次のステップは、コードの次の反復が本番/安定データのフルセットで機能することを確認することです。既存の本番/安定したWebサイトを壊す-それがステージング/ベータの目的です。また、企業は、ベータテスターに、世界中で見られるのと同じデータを使用してコードをテストさせることができます。次に、ベータテスターが親指をあきらめたとき、それはコードの古いイテレーションから新しいイテレーションへの単純な切り替えであるはずです。
私の直属の部下の一人はこれを「におい」と呼んでいました。彼は、Staging/BetaにはProduction/Stableのデータベースの完全なコピーが必要であると提案しています。したがって、QA中にキャッチされなかったStaging / Betaコードに本当に問題がある場合でも、Production/Stableのエクスペリエンスには影響しません。それがこれらの2つのリンクでの答えでした:
だからここに私の質問があります:どのような場合にステージング/ベータとプロダクション/ステーブルがデータベースサーバーを共有する必要がありますか?それとも、私の現在および以前の会社が間違ったことをしている/安い/などですか?
よろしくお願いします。