DB结构版本控制-基于摘要的解决方案

用例:

团队虔诚地遵循版本控制方案(例如Flyway或Liquibase)

生产中存在问题。 检查工具所提供的版本控制,表明没有更改,因为最新脚本中的版本以及正在运行的数据库检查中可用的版本。

进一步昂贵的研究结果是有人将VARCHAR(20)更改为VARCHAR(24)。很明显,解决问题确实需要进行更改,并且必须快速完成。 总之,除非所有团队(开发人员/运营人员)中的每个人都是同一宗教的追随者,否则将数据库结构版本保留在数据库行中几乎是无用的。

是否存在一种解决方案(针对MySQL,Oracle,PostgreSQL等),可以调用存储过程,并且该存储过程返回摘要/哈希?

执行DML对返回的摘要没有影响。 但是,任何DDL更改都会使摘要更改:

  • 添加了新列
  • 列已修改
  • 创建索引
  • 已添加外键

我的问题不是关于保留基于这些摘要的更改历史。只需找出运行时的结构,然后根据相应的摘要检测两个正在运行的数据库之间的不匹配。

ldg2000 回答:DB结构版本控制-基于摘要的解决方案

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2420901.html

大家都在问