gpt4 book ai didi

flyway - 多个开发人员在 Flyway 和 GIT 上工作

转载 作者:行者123 更新时间:2023-12-05 05:17:37 26 4
gpt4 key购买 nike

我有一个关于使用 Git 在 Flyway 上工作的问题。

如何组织工作?

两个开发人员可以创建新的 SQL 版本,但在 Git 上,我认为应该有一个版本的代码来查看所有更改。

我的意思是,当我创建 VBA 代码时,我只将一个工作簿推送到 Git,并且在推送新版本时更新那里的所有更改。

Flyway 和创建多个文件怎么样?

怎么做?

最佳答案

使用 git 通常意味着在开发人员之间使用不同的分支

只要每个开发人员都在单独的分支 上工作,您就不会遇到“查看所有更改”(从此类开发人员的角度来看)的任何问题。

但是,如果那些不同的开发人员将他们的(可能不同的)飞路迁移应用到完全相同的数据库模式,您将遇到问题。在这种情况下,您可以在应用 flyway 迁移 之前删除架构,或者为每个开发人员使用单独的数据库实例。

现在请记住 flyway 正在使用 migrations 来表达将形成最终模式(或数据库内容)的更改序列。 migrationsflyway 只是文件(带有 sql 代码或 java 类的文本文件)。有关更多详细信息,您可以咨询 flyway documentation

如果您正在查看单个分支,例如由于合并各种(远程)副本或其他分支,您将遇到以下情况:

  1. 新迁移(又名新文件)
    这样的文件将被添加到目标分支上的总 migrations 集合中。主要问题是确保(使用正确的命名约定)新的 migrationmigrations 序列中的正确位置执行。
  2. 修改现有的迁移(又名更改文件)
    合并后,修改成为文件的一部分,因此对该分支的用户可见。
  3. 已删除迁移
    此处修改在合并后立即对目标分支可见。

在任何情况下(无论您是将完整的迁移集保存为单个文件(不推荐!)还是一组文件(可能分布在不同的文件夹中),都会有一个确切的版本是“给定分支的当前“迁移状态。

编辑:

根据您的附加信息考虑以下示例:

分支 b1 有以下迁移:

  • 03.02.12__creating table.sql
  • 05.02.12__修改表格

分支 b2 有:- 2012 年 2 月 4 日__添加列。

将两个分支合并到 master 分支后,您将以:

  • 03.02.12__creating table.sql
  • 04.02.12__ 添加列。
  • 05.02.12__修改表格

鉴于日期是版本,上面的列表给出了从 master 分支通过 flyway 应用这些迁移的顺序(根据词汇顺序)。

由于没有与 git 分支同名的文件,因此这些文件只是并排存在于 master 分支的最终版本中。

关于flyway - 多个开发人员在 Flyway 和 GIT 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49063257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com