在团队中,您使用哪些工具来开发Oracle存储过程:
要自动"锁定"您正在使用的当前程序,因此团队中的其他任何人都无法对其进行更改,直到您完成为止.
要自动将您在存储过程中所做的更改(在Oracle数据库中)发送到Subversion,CVS,...存储库
谢谢!
我不确定原来的海报是否还在监视这个,但我还是会问这个问题.
原帖要求能够:
要自动"锁定"您正在使用的当前程序,因此团队中的其他任何人都无法对其进行更改,直到您完成为止.
也许这里的问题是开发范式,而不是产品无法"锁定"存储过程.每当我听到"我想锁定它而没有其他人改变它"时,我立即感觉到人们正在共享一个模式,每个人都在同一个空间中发展.
如果是这种情况,为什么不简单地让每个人都拥有自己的架构和数据模型的副本?我的意思是认真的人,它不会"花费"任何东西来创建另一个模式.这样,每个开发人员都可以进行更改,直到他们脸色发青,而不会影响其他任何人.
我过去使用的另一个技巧(在小团队中),因为大小而让每个开发人员都拥有自己的数据副本是不可行的,那就是拥有一个包含所有表和代码的主模式,用公共同义词指向它.然后,如果开发人员想要处理存储过程,他只需在他的模式中创建它.这样,Oracle名称解析就会首先找到一个而不是主模式中的副本,从而允许他们在不影响其他任何人的情况下测试他们的代码.这确实有它的缺点,但这是一个非常特殊的情况,我们可以忍受它们.我显然不会在生产中实现这样的东西.
至于第二个要求:
要自动将您在存储过程中所做的更改(在Oracle数据库中)发送到Subversion,CVS,...存储库
我很惊讶地发现那里有足够聪明的工具(也许是一个机会:).它必须连接到您的数据库,查询数据字典(USER_SOURCE)并提取相关的文本.源控制系统的高级订单几乎普遍基于文件.