我在 Oracle 的多开发人员环境中工作,有一个大包。我们有DEV=>TST=>PRD的促销模式。目前,所有包编辑都是直接在 TOAD 中进行,然后编译到 DEV 包中。
我们遇到两个问题:
并发变更需要按不同的时间表进行推广。例如,开发人员 A 进行了一项需要明天升级的更改,而开发人员 B 正在同时进行一项在两周内不会升级的更改。当到了促销时间时,我们发现自己手动注释掉尚未促销的内容,然后取消注释......糟糕!
如果两个开发人员同时进行更改,并且其中一个开发人员进行了编译,则会清除另一开发人员的更改。没有一个很好的合并;相反,最新的编译获胜。
您会建议采取哪些策略来解决这个问题?我们正在使用 TFS 进行源代码控制,但尚未将其用于我们的 Oracle 软件包。
P.S.我见过this发帖,但并没有完全回答我的问题。
关键是采用仅从源代码控制系统部署代码的做法。我不熟悉 TSF,但它必须实现分支、标签等概念。然后部署什么的问题就脱离了源代码控制系统中的构建和发布标记。
附加提示(针对 Oracle):
如果将包规范和主体拆分为不同的文件,并为每个文件使用一致的文件模式(例如,包规范为“.pks”,包主体为“.pkb”),则效果最佳。如果您使用可以处理文件模式的自动构建过程,那么您可以构建所有规范,然后构建主体。如果您仅部署包主体,这还可以最大限度地减少对象失效。
花时间配置由源代码控制系统的发布或构建状态驱动的自动构建过程。如果您有适量的数据库代码对象,那么能够将代码构建到参考系统中并将其与您的质量保证或生产系统进行比较是值得的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)