是否有类似Puppet的工具来描述数据库模式和约束?

时间:2012-08-20 09:20:17

标签: automation database-schema puppet

我们最近遇到了升级问题,因为我们的数据库架构中的列是从

中意外修改的
("SECURED" NUMBER(1,0) DEFAULT 0 NOT NULL);

("SECURED" NUMBER(1,0) DEFAULT NULL NOT NULL);

经过分析,看起来该列已在SQL编辑器客户端中进行了复制粘贴,我们失去了一些限制。

我喜欢Puppet在主机配置方面可以做的事情:根据我的理解,您在清单中声明主机配置,然后Puppet检查主机是否满足配置要求,如果没有,它会做出确保所需的一切system配置为清单中声明的​​。

我希望数据库字段中存在类似的工具:您使用表,列名,类型,约束等声明数据库模式。每次运行该工具时,它都会确保模式定义得到遵守,如果没有,则会修复它。

此工具会“看到”约束DEFAULT NULL不正确,并且会将其更改为DEFAULT 0,从而通过自动化修复了人为错误。

你知道这些工具是否存在吗?

1 个答案:

答案 0 :(得分:1)

您可以使用SchemaCrawler自动执行数据库架构比较。 SchemaCrawler是一个免费的命令行工具,它以文本形式生成数据库模式详细信息,其格式设计为差异。您可以定期自动生成数据库架构文本文件,然后根据预期的文本文件对它们进行区分。在自动修复方面,我会建议在生产模式中使用它。您可能需要一个人员警报,架构需要更新。

Sualeh Fatehi,SchemaCrawler。