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

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

有没有更好的办法?

请您参考如下方法:

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

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

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

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


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!