我是Flyway的新手。我非常喜欢它,我将把它集成到我们的Java工作区。在规划这些迁移的实际发布过程时,我需要一点“推动”。根据Flyway的文档,我可以选择
我想尝试第二种选择,因为它为我们提供了更大的灵活性,听起来我可以简单地将迁移脚本作为资源包含在可执行文件的jar文件中。但是,由于我们在连续发布过程中经常提供数据库更改,因此我发现jar文件最终被大量脚本文件污染。此外,当使用Ant创建jar文件时,Ant会将每个文件的名称放入清单的类路径中,这将使清单搞砸了。
考虑到这些问题,对于那些在生产中使用Flyway的人来说:
分发迁移脚本的推荐方法是什么?你把它们全部放进一个罐子里并把它传递到服务器上的飞路吗?或者,每次发布时,是否使用批处理文件将所有脚本复制到服务器?谢谢你的建议。
答案 0 :(得分:0)
本地开发环境采用上述方法,Jenkins管道不断部署Test / Stage环境,并自动运行DB Migrations。
如果Continuous deployment管道出现故障,我们使用flyway命令行手动运行db migration。
我们还可以选择使用命令行运行flyway进行生产部署和故障排除。
答案 1 :(得分:0)
您可以设置jenkins作业以自动化飞路迁移。您可以通过两种方式完成此任务。
编译flyway:migrate -Dflyway.user =" xxxxx" ...(您的其他选择)......
我更喜欢使用第一个选项,因为您不必在Jenkins盒子上安装任何东西。