对于政府机构,我们构建了一个使用 PHP 和 Oracle 开发的发布管理系统。此应用程序的数据存储在数据库表中,并使用 PL/SQL 包和过程进行处理。
发布管理过程广泛基于来自 Subversion 存储库的元数据。我们通过内部 Oracle JVM 从 PL/SQL 访问存储库,以在驻留 Oracle 实例的 unix 服务器上执行 svn 命令。svn 命令的结果以 XML 格式接收并在 PL/SQL 处理之前进行解析。对于频繁重复使用,以这种方式访问 Subversion 的性能不是很好。
目前,我们所做的是在 Subversion 存储库中的每次提交时将 Subversion 元数据存储在数据库表中(通过 Subversion 挂钩)。我们提取每个 Subversion 事务的日志信息并将其保存在一些 oracle 表中。然后我们就可以通过正常的 SQL 查询获得 Subversion 元数据。
有没有更好的方法从 PL/SQL 访问 Subversion?