当前位置: 首页 > 知识库问答 >
问题:

使用带有分布式源代码管理的飞行路线(即Git,汞合金等)

荀豪
2023-03-14

我是一个具有多个模块(30个左右的jar)的大型java项目的一部分,并且对使用flyway来管理数据库迁移感兴趣。

作为公司政策的一部分,与每个项目相关的迁移脚本存在于每个模块中,并且在迁移时被聚合以形成一个从发布到发布的大型sql脚本——

由于 Git 的分布式特性,考虑用于命名飞行路线迁移脚本的顺序版本号是违反直觉的。让我进一步说点题外话...

    < li >用户将主< code>A分支到其特征分支< code>B < li >单独的用户将< code>A分支到他们自己的功能< code>C < li >有人将脚本提交给< code>B。我们称之为< code >脚本1 < li >其他人将脚本提交给< code>C。< code >脚本2 < li >在某个时候,这些更改会被引入到主分支中

现在,如果您还没有看到问题,那么这些更改引入master的顺序是任意的。开发人员无法适当地版本他们的脚本(假设团队之间没有就提交顺序进行通信)。script 2可以在某个时候引入,迁移,然后将script 1引入并放置在script 2的文件之前,就flyway脚本版本而言。

当数据库已经迁移过去时,Flyway如何管理“插入的”脚本?

这是我在移动当前系统使用flyway时唯一关心的问题之一,任何见解/帮助都将不胜感激。

共有1个答案

万高畅
2023-03-14

但是,flyway.outOfOrder属性可以设置为true以启用解决此排序问题的方法。

flyway.outOfOrder=true

另一个有用的提示是,不要对版本使用增量整数,而是使用时间戳。时间戳越精确,版本冲突的可能性越小。

e. g.

20140707.154401__create_customer_table.sql
20140707.154402__alter_customer_table.sql
 类似资料:
  • 我想使用jenkins中git的以下管道脚本 如何从git正确运行Jenkins脚本?

  • 我们正在使用Zonky对Postgres和Flyway支持的Spring Boot应用程序进行集成测试。一切都很顺利。 但是,由于我们拥有特定的数据库配置,应用程序用户没有DDL权限。因此,对于数据库迁移,我们有一个不同的数据库用户(具有DDL权限),我们通过进行设置。不幸的是,为flyway设置用户名会强制专门为Flyway创建内联数据源。这是一个问题,因为Zonky在启动Postgres实例后

  • 我正在尝试在Azure DevOps(内部部署)中配置发布管道以支持git流策略。我正在努力实现的目标: promise“发布/*”触发软件的构建并发布到QA的位置 promise“主控”从步骤1获取相同的软件构建(工件),并发布到生产位置 因此,当我做一个git-flow开始发布时,软件可用于测试/质量保证,当我完成发布时,它可供用户使用。 我的构建管道工作正常,它由发布分支触发,并以发布工件任

  • 飞行路线       点击“飞行路线”按钮,打开飞行设置编辑面板,点击“添加飞行路线”,跳转你想飞行时的节点的视角,点击“添加当前位置为视角”,这是播放时间点击确定。

  • 目前,我们公司通过手动创建、分发和运行必要的SQL脚本来处理所有数据库模式更改。显然,这会导致各种机器偶尔更新和稀疏更新的问题。 我正在研究更现代的方法来解决这个问题,而Flyway现在是主要的候选人(尽管如果可以提出令人信服的论据,我们仍然愿意使用Liquibase)。 正常流程很简单,和宣传的一样简单,但是我们不知道如何正确处理冲突的迁移脚本。例如,不同个人分支(A和B)上的2名开发人员在不同

  • 接口说明 如果已创建了飞行路径,而想修改飞行路径的相关信息,Wish3DEarth团队新增了修改飞行路线的接口,开发者可以通过该接口,来修改飞行路径的相关信息(名称、视点等)。 注意:vpIds如果不传,默认会将原有的视点置空 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/flyline/1.0.0/update 是否需