您如何在团队中共享SQL更改?

Tow*_*wer 7 sql collaboration

每当您进行数据库更改时,如何将这些更改应用于团队(以及您的服务器)上的其他数据库?

目前我们正在使用一个名为changes.sql的文件,我们将所有更改放在ISO日期注释中.

有没有更好的办法?

Win*_*ith 2

我们使用您的方法的扩展版本。

我们为每个版本都有一个数据库升级文件夹,其中包含属于该版本的所有脚本。该文件夹中有一个索引文件,其中包含指向所有应运行的脚本的伪链接。

我们有一个巡航控制作业,每天晚上运行以恢复当前生产数据库的副本,然后针对它运行当前版本的升级脚本(通过执行索引文件中定义的脚本)。还有一个 CI 作业,每当有人将任何内容签入当前版本的升级文件夹时就会运行。

显然,脚本需要重新运行,例如,它们应该在删除或创建某些东西之前检查它是否存在。