我喜欢在oracle数据库中升级数据库对象的解决方案,例如alter table,更新版本的更新包等等......而这些对象仍在生产服务器上的应用程序中使用。
我听说过持续整合,但这不是我想要的。
有谁知道升级这些对象的解决方案?
也许您可以提及一个版本左右,然后在使用它时调用您想要使用的版本。
我正在寻找由oracle制造的解决方案而不是发明我自己的课程。我知道我可以发明一些东西来做那样的事情,但这不是我要求的。
答案 0 :(得分:0)
有一个Oracle Change Management Pack
有一个Oracle create schema构造可以使DDL更改事务性
我认为没有什么可以保持同一个软件包的不同版本,例如SQL Server存储过程中的#。甚至ORACLE,当不支持后隔离时,放弃旧包并创建新包。
向表中添加列应该是透明的,您必须根据过程重建视图,但它或多或少是自动的。即使您使用*,新列也不会出现在视图中。只有当它们被声明为%ROWTYPE时,过程中的记录才会包含新列。
答案 1 :(得分:0)
a_horse_with_no_name是正确的,但没有将其作为答案发布。
所有这一切都可以通过使用基于版本的oracle重新定义来实现。
More info on Edition-Based Redefinition
使用此选项,您可以制作包和视图的版本,以便在完成所有测试时将其投入生产,而无需离线。