此时我们开发了一个使用flyway DB的项目。在项目中,我们使用GIT多分支Jenkins管道,在应用程序代码中的每次检查都被编译并部署在测试环境中,并且在此部署时间内执行Flyway脚本。问题是每个分支可能包含不同版本的flyway脚本,这意味着在部署时可能会发生flyway抛出校验和错误。我们想到的唯一解决方案是删除Schema的表作为beforeValidation回调的扩展。这种方法的唯一问题是数据库recyclebin变得非常快,并且无法扩展bin或去激活它。
问题在于,当在多个分支上进行开发时,某人是否最好知道如何处理如何使用flyway,这可能比删除表更好
答案 0 :(得分:1)
我假设您的应用程序在数据库上使用单个架构。是否有可能在数据库上创建和使用特定于分支的模式,并使用这些特定于分支的模式进行flyway - 数据库迁移,并在这些特定于分支的模式上部署应用程序并在jenkins管道中对此进行测试?