在我们的 Oracle Apex 应用程序中,我们使用自定义身份验证方案。测试环境和生产环境的方案略有不同,因此我们在每个环境上都有一个应用程序 100,该应用程序几乎没有变化,并且仅包含特定环境的身份验证方案主机。所有其他应用程序都订阅这些身份验证方案主机。
过去,当我将应用程序部署到生产环境时,导入后我所要做的就是转到应用程序 100 并发布身份验证方案。所以所有的认证方案都更新到了生产版本。
但是现在当我导入应用程序时,与主方案的连接就会丢失。顶点显示:
订阅者:不存在的大师
订阅状态:无法确定,需要刷新
我必须在每个身份验证方案中取消订阅并重新订阅所有导入的应用程序。这比仅仅点击一次发布要多得多的工作。
不幸的是,我不知道这是否伴随着 Apex 升级或任何其他变化。我们目前使用的是 Apex 24.1.3。
不知何故,有关共享组件订阅的行为一定在最新版本之一中发生了变化。在 Oracle 官方论坛上,您还可以找到一些应该在最新版本中修复的问题。
但是,我只能通过在命令行上导入包含主组件的应用程序并将偏移量设置为零来修复它,以便身份验证方案保留其 ID:
apex_application_install.set_offset( p_offset => 0 );