加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在不破坏代码的情况下管理Oracle包的策略

发布时间:2020-12-12 16:24:48 所属栏目:百科 来源:网络整理
导读:我很想知道人们如何在他们的应用程序中管理他们的包. 例如,在我们的开发实例中,应用程序开发人员可能希望更改存储过程.但是,更改存储过程将破坏现有Java代码,直到更新DAO层以适应更改. 我的典型做法是将新程序实现放入“DEV”包中.然后开发人员可以更改他对
我很想知道人们如何在他们的应用程序中管理他们的包.

例如,在我们的开发实例中,应用程序开发人员可能希望更改存储过程.但是,更改存储过程将破坏现有Java代码,直到更新DAO层以适应更改.

我的典型做法是将新程序实现放入“DEV”包中.然后开发人员可以更改他对此包的引用,进行测试,然后当我们准备好时,我们可以替换“生产”包中的过程,从DEV中删除它,开发人员将他的引用更改回生产包.

但是,我发现它并不像我想的那样游泳.首先,如果有一堆Java代码依赖于DEV包,那么我就像直接编辑生产包一样 – 如果我打破了包,我会打破一堆代码.

其次,人们很忙,我们不应该尽快将包裹投入生产.然后我们有两个版本的存储过程浮动,很难记住什么已经转移到生产和什么没有.

目标是让开发人员继续工作.是的,它是一个开发服务器,但我们不希望意外地破坏代码.

任何人都可以提出有效的方法来解决这个问题吗?

如果每个开发人员在数据库中都有自己的模式,并且共享模式中的所有对象都有公共同义词,并且所有Java代码都使用非限定对象名称,那么特定开发人员模式中的包的本地副本将优先于共享版本.因此,开发人员A可以获取包的当前版本,将其安装在他或她的本地模式中,对包进行任何需要的更改,并在他们自己的开发环境中进行任何必要的Java更改(我假设开发人员)拥有自己的本地应用服务器).当两组更改足够稳定以便可以检入共享开发环境时,PL / SQL包和Java更改都可以构建到共享开发环境(共享开发应用程序服务器和实际模式中)开发数据库).然后,开发人员可以删除其本地副本.

只要开发人员检查源控制中的PL / SQL以启动他们的更改而不是假设他们的模式中的任何本地副本是最新的 – 如果开发人员保留旧的本地代码版本,那么这种方法工作得相当好在他们的本地模式中,他们可能最终难以调试PL / SQL和Java版本不同步的问题.您可以通过自动化流程来解决该问题,例如,如果未在合理的时间段内修改了开发人员模式中的包,并且开发人员未在源代码管理中或通过构建脚本检出这些包这让开发人员在构建过程中自动刷新他们的模式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读