在工作中,我们使用Oracle和C#/ ASP.net来处理客户的网站,这个网站是非常大规模的,所以数据库是非常大的。
我们使用Perforce来进行版本控制,并且在数据库发生变化的时候创build或replaceFogBugz的脚本,到现在为止我们现在已经处于5个开发人员正在为系统进行5次扩展的阶段,每个一个独立的Perforce分支。 不幸的是,由于数据库的大小,我们无法获得重复的数据库,所以每个人都仍然从事同一个工作。 这显然是导致问题的原因:仅在十分钟前,我们遇到了一个问题,即分支的存储过程更改传播到预生产服务器,并导致大量testing人员崩溃。 理想情况下,我们希望能够跟踪这些更改,而无需通过FogBugz手动跟踪这些更改。
我的问题是:你如何处理这种情况? 我相信现在必须有一个好方法来处理Oracle数据库中的版本控制或至less跟踪更改。
如果数据库升级是可行的,11gR2引入了编码的概念。
你的数据模式是否与代码模式相同? 将它们分开可能是一个好主意。 这样你可以拥有相同的一组数据库表,但不同的代码模式集合。 那么一个项目可以使用一个代码模式,另一个可以使用另一个模式。
只要你绑定一组数据,那么你将会受到限制。 如果一个项目期望单个字符值,但另一个项目将其扩展为两个字符,则可能会出现问题。