我们的应用程序正在使用与Jenkins的持续集成。我们在将增量数据库更改部署到oracle服务器时遇到了问题。
当前遵循的机制是具有回滚脚本和更改或增量脚本(ddl
和dml
)。
在jenkins管道中,我们首先调用rollback,然后每次构建与java代码更改一起运行时进行增量更改。这不是解决这个问题的理想方法。
我正在寻找一些允许增量数据库脚本只运行一次的最佳实践。
答案 0 :(得分:0)
我提到了best practice before,它与JenkinsCI无关:你需要在数据库的专用表中记录db脚本的执行。
这就是product like Flyway does,但你也可以自己实现“记录”部分。这样,当您的JenkinsCI管道作业重新执行这些脚本(通过您的包装器)时,所述包装器将检测到它们已经被执行。