我加入了在Oracle DB中开发和存储plsql源代码的项目.
有两个源副本 – 在测试和生产服务器上.所以SPOT(单点信任)规则被打破了.副本需要不时进行同步,并且此作业是手动执行的.
但最烦人的事情来自配置管理 – 我无法重现以前的工作项目副本,因为旧的plsql脚本丢失了(新版本在API中有变化).
学习科目后,我找到了很棒的项目:https://code.google.com/p/plsqlmaven
按照https://code.google.com/p/plsqlmaven/wiki/Basics我可以从DB’es转储所有plsql scrips(以及生产和测试之间的差异):
$mvn plsql:extract -Dforce
但我坚持使用plsql:deploy命令(它打印关于丢失jar的错误,我不明白如何创建它).我很快就会联系到作者并填写一些错误报告.
但我希望社区已经为项目活力解决了这样的基本任务.
如何在Java项目中将plsql脚本部署到Oracle DB(我的项目使用Maven构建系统)?
PS我在oracle.com上查看SQL Developer教程 – 我无法通过单击按钮找到如何部署完全plsql文件层次结构.我更喜欢命令行解决方案……
PPS我向plsqlmaven项目报告相关错误:
> https://code.google.com/p/plsqlmaven/issues/detail?id=4(需要将plsql文件部署到Oracle DB的教程.)
> https://code.google.com/p/plsqlmaven/issues/detail?id=5(请发布1.11到Maven central.)
> https://code.google.com/p/plsqlmaven/issues/detail?id=6(plsql:默认情况下在1.10中将dump plsql代码提取到src / main / java)
PPPS我在http://rsdn.ru/forum/java/5011849.flat提问(俄语)
解决方法:
这是我喜欢使用flyway的情况之一,因为它可以让你管理版本和脚本.
它在测试时也很方便,因为它允许您将数据库播种到给定状态.