我想知道人们如何处理在生产环境中逐步推出功能和版本。该场景是您有两个已测试代码的版本,一个已经在生产中,另一个将推出,这些是常见问题。
以上是讨论的一些想法
答案 0 :(得分:0)
听起来你需要一个良好的分支和合并策略。如果你使用的是Git或SVN之类的东西,那么主机或主干上的任何东西都应该是生产就绪的质量。如果你遇到AbcController
好并且准备好去的情况,但是XyzController
是不稳定的,那么XyzController
可能需要更多的测试而且不应该是主人。
rails中的迁移也遵循此策略,这将导致您的数据结构。如果您认为自己已准备好进行生产,那么您的数据库不应该有重大变化。也许您需要添加一个列或功能,但您应该远远超过批发数据库重构。
最后,上传/更新数据是任何迁移情况的痛苦。根据我的经验,它涉及编写SQL脚本来执行移动,或者更新数据库以获得一些新功能。这些SQL脚本也应该在您的源代码控制之下。通过在迁移文件本身中编写迁移脚本,Rails可以使这更容易。根据您的具体情况,这可以工作。