目前我们正在使用一个名为changes.sql的文件,我们将所有更改放在ISO日期注释中.
有没有更好的办法?
我们为每个版本都有一个数据库升级文件夹,其中包含作为发行版一部分的所有脚本.文件夹中有一个索引文件,其中包含应该运行的所有脚本的伪链接.
我们有一个巡航控制作业,每晚运行以恢复当前生产数据库的副本,然后针对它运行当前版本的升级脚本(通过执行索引文件中定义的脚本).每当有人检查当前版本的升级文件夹中的任何内容时,还会运行一个CI作业.
这些脚本显然需要重新运行,例如,他们应该在删除或创建之前检查是否存在某些内容.