在我过去和现在的 Web 开发职位中,Staging / Beta 和 Production / Stable 环境共享一个数据库。
这是我对正在发生的事情的理解:
Staging / Beta 与 Production / Stable 的服务器基本相同,只是一般公众无法访问 Staging / Beta
一旦 QA 的测试在其自己的生产/稳定数据的净化子集副本上通过即将进行的代码迭代,开发的下一步是确保即将进行的代码迭代将与完整的生产/稳定数据集一起使用,而不是打破现有的 Production / Stable 网站 - 这就是 Staging / Beta 的目的。此外,公司可以让 beta 测试人员使用全世界都可以看到的相同数据来测试代码。然后,当 beta 测试人员竖起大拇指时,它应该是从旧迭代到新代码迭代的简单切换。
我的一位直接下属称这是一种“气味”。他建议 Staging / Beta 应该拥有 Production / Stable 数据库的完整副本——因此,如果 Staging / Beta 代码确实存在问题,而在 QA 期间没有发现,它不会影响 Production / Stable 体验。这就是这两个链接的答案:
所以这是我的问题:在什么情况下,Staging / Beta 和 Production / Stable 应该共享一个数据库服务器?还是我现在和以前的公司做错了/便宜/等等?
预先感谢您的想法。