我们最近遇到了一个升级问题,因为我们的数据库架构中的一列被意外修改了
("SECURED" NUMBER(1,0) DEFAULT 0 NOT NULL);
到
("SECURED" NUMBER(1,0) DEFAULT NULL NOT NULL);
经过分析,看起来该列已被复制粘贴到 SQL 编辑器客户端中,并且我们丢失了一些约束。
我喜欢 Puppet 在主机配置方面可以做的事情:据我了解,您在清单中声明主机配置,然后 Puppet 检查主机是否满足配置要求,如果不满足,它会完成确保系统配置所需的一切如清单中所述。
我希望在数据库字段中存在类似的工具:您使用表、列名、类型、约束等声明数据库模式。每次运行该工具时,它都会确保架构定义得到尊重,如果没有,它会修复它。
该工具将“看到”约束DEFAULT NULL
不正确,并将其更改为DEFAULT 0
并因此通过自动化修复人为错误。
你知道这样的工具是否存在吗?