Flyway-具有集中迁移功能的多个数据库

时间:2019-07-26 11:11:34

标签: flyway

我们公司大约有30多种以不同语言(java,c#,Visual Basic,nodejs等)编写的应用程序

我们的目标是让开发团队将数据库更改sql保存在其存储库中,并从Jenkins进行迁移,并从中开始使用版本号的管道。开发团队无权访问Jenkins配置,他们只能运行我们创建和配置的作业。

我们应该怎么做?我们是否也为每个应用程序保留了不同的飞行实例?那么预生产和生产阶段呢?

基本上,作为开发团队,我们应该如何保持飞路来进行具有不同阶段的不同应用程序的迁移,而无需开发团队执行迁移部分。

1 个答案:

答案 0 :(得分:0)

这应该可以通过Flyway CLI进行。您可以告诉Flywyay在哪里寻找迁移以及如何连接到数据库。 See the docs about configuring the CLI

您可以通过多种方式配置Flyway-环境变量,命令行参数和配置文件。

您可以做的是允许每个开发团队为Jenkins任务指定迁移目录和连接详细信息。然后,该任务可以调用Flyway CLI,通过命令行参数覆盖相关的配置项。例如,通过命令行调用来迁移数据库:

flyway url=jdbc:oracle:thin:@//<host>:<port>/<service> -locations=some-location migrate

或者您可以允许开发人员指定环境变量,或提供自定义配置文件。

由于命令本质上是无状态的,因此您可以重用单个Flyway实例。他们唯一需要的环境状态来自配置文件,您可以完全控制该文件。

希望有帮助