跟踪数据库结构的开发变化

Keeping track of development changes on database structure

我在一个开发团队中工作,使用非常基本的 git 原则来开发我们的项目。因此,每个功能都在功能分支中开发,并在准备就绪时合并到。

经常需要对我们的数据库进行更改,添加表,更改列。有时这包括迁移需求。 (转换数据类型等)

目前我们只是编写一个包含这些更改的 SQL 文件。 "bringing the stuff to production" 必须跟踪哪些 SQL 文件已经应用,哪些还需要应用。如果需要应用迁移,sql 文件中的注释会告诉您 - 坦率地说,这是一团糟;D

是否有适用于此场景的流行语、项目、原则?

我偶然发现了 goose,它满足了我所有的梦想 :) 您可以通过普通 sql 文件进行 "simple" 迁移,或者您可以通过 go 进行复杂的编程更改。