APEX实战第7篇:如何高效管理频繁更新的数据库对象

笔者感觉APEX开发比较头疼的一件事儿就是针对数据库中的各种对象定义,因为稍有不慎就会让发布的程序和库表结构对应不上,从而导致程序的一些功能模块对应的页面直接报错,体验很差。

但是在开发功能的期间,因为需求迭代快,随时都可能对库表结构反复更新,比如增加字段、修改数据类型、更新包、存储过程、函数的逻辑等等,纯手工维护库表对象的脚本太过麻烦而且非常容易遗漏。

其实APEX是支持自动刷新被更新的对象的,也就是本文介绍的不得不知的 Installation Scripts

01|Installation Scripts的入口

具体在 Supporting Objects 下的 Installation Scripts 下,如下图:

02|支持刷新脚本和添加对象

进到Installation Scripts 下后,就可以任意选择需要更新的对象,比如我这里直接全选所有对象:

点击刷新,成功刷新后,会有明确提示,此时就会发现所有对象的定义都自动刷新到最新状态,免去人工维护的麻烦。

注:如果你是首次添加,或者在开发过程中,又新增了其他对象,直接通过点击旁边的 Add Object 添加即可。

确认刷新OK,点击 Apply Changes 即可:

03|养成好的导出习惯

建议我们在每次导出APEX程序之前,都要先刷新同步匹配库内最新状态的对象,确认成功后再导出APEX程序。

注意导出选项,我们主要需要注意 Supporting Object DefinitionsYes,默认应该就是如此。此外,这里还可以按照实际需要自定义配置,比如笔者还想保留一些 Private Reports,也可以勾选上,看大家实际需求了。

这样导出来的APEX程序,当被导入到其他全新环境中,就不会因为丢失更新,导致库表和apex程序对应不上,陷入各种报错的囧境了。

相关推荐
AlfredZhao7 天前
APEX实战第6篇:APEX 如何接入业务数据库用户?
apex·sql commands·object browser
AlfredZhao2 个月前
APEX实战第5篇:利用APEX程序直观体验向量近似检索能力
vector·apex·ann
AlfredZhao8 个月前
利用 APEX 打造 Oracle 23ai 智能开发平台
apex·23ai·vectory·vectorizer
AlfredZhao8 个月前
APEX实战第3篇:如何完善项目基础功能
apex
AlfredZhao8 个月前
APEX实战第2篇:构建自己第一个APEX程序
apex
AlfredZhao9 个月前
APEX实战第1篇:本地部署拥有AI能力的APEX
ai·apex·23ai·deepseek·ords
AlfredZhao9 个月前
Oracle DBA末日or重生?不会APEX=淘汰!
apex
王小小鸭2 年前
存档&改造【07】多表查询和可操控对象的存储
oracle·apex·pl/sql
王小小鸭2 年前
存档&改造【06】Apex-Fancy-Tree-Select花式树的使用&误删页数据还原(根据时间节点导出导入)
oracle·apex·pl/sql