最近,我遇到了一个依赖增量数字的迁移系统,因此脚本是按升序执行的。包含几个脚本的文件夹可能如下所示:
Script1.sql
...
Script1009.sql
Script1010.sql
Script1011.sql添加新脚本的过程意味着在版本控制中检查不同的分支以找到最新的数字,将其递增1,并祈祷您不会引发文件冲突,因为有人在您可以推送到回购之前做了同样的事情。
我所知道的唯一其他方法是依赖方法:每个脚本指定它所依赖的脚本,因此脚本在层次结构中链接在一起.这是伟大的,直到有人错误地创建一个循环依赖。
那么:还有哪些其他方法,以及它们为什么有效呢?
也应该指出,这是一个理论问题,我不是在寻找软件。
发布于 2021-08-04 17:18:36
我也在考虑这个问题。
另一种迁移模式的方法是使用RBDMS上的元数据来获取源数据库(迁移的最新数据)到目标数据库之间的差异。这里有"sql“库。
与您列出的迁移策略相比,它的一个潜在优势是,典型的实现迁移更改代码是SQL。我在上面列出的编号文件/依赖项跟踪文件策略的实现是在将生成SQL的应用程序语言代码中实现的,但是SQL更新本身并不是版本化的。这可能会使数据库管理员不透明。sql方法的另一个优点是,从查询性能、DDL锁等DBA考虑的角度来看,使用这种SQL可能更容易在暂存数据库上进行测试。
https://dba.stackexchange.com/questions/234065
复制相似问题