如何使用Oracle Apex处理版本控制

eao*_*son 19 oracle version-control oracle-apex

Oracle Apex很棒.我遇到的最大问题是使用它和源代码控制.通常在进行更改后,将导出整个应用程序,并将生成的SQL脚本检入源代码控制.

问题是,因为不清楚大多数导出脚本在做什么,所以我必须将其视为二进制文件.这意味着不能将来自多个源代码分支的更改合并在一起,这严重限制了其有用性.

我听说有些人导出每个页面并将它们单独放入源代码控制中.首先,这听起来像是一个重大的痛苦.其次,Apex不允许您将页面导入除导出页面之外的任何应用程序.因此,很难让两个开发人员同时使用他们自己的应用程序副本.

有没有人找到一个很好的方法来处理源代码控制Apex?我正在使用Subversion,我想我怀疑它有所不同.

jle*_*jle 10

我也处理过这个问题.该问题的另一个方面是Apex与底层SQL数据库紧密联系,因此SQL中的任何更改都需要反映出来(换句话说,导出每个页面还有其他问题,而不仅仅是一个巨大的痛苦).实际上据我所知,导出页面时也不会导出共享组件.
我们通过导出整个应用程序并将其签入来处理这个问题.基本上,目前没有更好的方法来处理APEX中的版本控制.我还记得在Oracle APEX论坛上看到有一种方法可以将导出的文件拆分成组件部分,但我还没有尝试过.

  • 5年后......甲骨文是否打算解决这个问题?在Apex应用程序上进行协作是一件巨大的痛苦.似乎Apex是由一些天才设计的,他们通过使用Apex创建应用程序来意识到他可以拥有无​​限的工作安全性:/ (3认同)

Rui*_*ata 6

对于这个问题,我想出了一个我认为相当好的解决方案。主要思想是将开发转移到开发人员自己的工作站,并使用 Subversion 保持同步并合并所有不同的 APEX 应用程序版本。

这使得源代码管理工作流程如下所示:

这

也就是说,每个开发人员都有自己的 Oracle 数据库实例,安装在自己的工作站上。只要所有工作区和应用程序 ID 在工作站之间保持同步,合并 APEX 转储文件就相当容易,并且源代码控制可确保它们保持这种状态。

我的团队已经使用这种方法近两年了,取得了很好的效果。

基于这次经验,我写了一篇小文章,详细介绍了整个方法,希望对其他团队有用。