我需要以某种方式将pl sql包的本地版本与存储在数据库中的版本进行比较。有没有“简单”的方法呢? 目前我从数据库下载包,将其保存在一些文件中,并使用一些diff工具执行diff。这有点麻烦,所以我想在ide中有这样的功能(最好是pl sql developer)。
答案 0 :(得分:4)
通常,开发人员使用版本控制软件来检查差异,维护版本历史记录,并帮助协调团队开发代码。 PL / SQL代码应该没有什么不同。有很多方法可以处理代码发布,以下是我所看到的,不一定是“最佳”方式。
在我看过的Oracle环境中,使用了CVS或SVN。大多数方法涉及从存储库中检出最新代码,编辑(标记/分支)和签入。当代码被测试(开发实例)并且发布准备就绪时,DBA要么从存储库中获取发布脚本并应用,要么一个人是负责将正确的发布脚本移交给DBA(根据我的经验更常见)。请注意,此处的数据库通常是镜像生产实例的用户接受实例。如果app测试通过,代码将升级为生产。
如果要直接在数据库和IDE之间同步,我看到的一个选项是Toad Team Coding。 Toad不是免费的,此选项将需要在数据库上安装其他对象(元数据/跟踪表等)。一个很好的overview is found here,以及好的设置文章is found here。
团队编码非常酷,但我只会在开发环境中安装。如何通过系统从那里推广代码取决于你。
答案 1 :(得分:1)
使用sqlplus命令文件自动执行您描述的过程相当容易。从all_source中选择,将其假脱机到一个文件。在命令文件中调用diff命令为“host diff ...”或“!diff ...”。 diff的-b和-B选项将分别忽略空格和空行。