背景
系统中的数百个数据库对象(视图、包、存储过程等)没有格式,也没有源代码注释。我们想:
- 自动重新格式化代码(使用通用 SQL 解析器)。
- 自动将标准注释标题复制到每个对象的源文件中。
问题
我们不能在未经测试的情况下将如此彻底的变化推向生产。
问题
您将如何验证重新格式化的源代码在功能上与未格式化的代码相同?
谢谢!
系统中的数百个数据库对象(视图、包、存储过程等)没有格式,也没有源代码注释。我们想:
我们不能在未经测试的情况下将如此彻底的变化推向生产。
您将如何验证重新格式化的源代码在功能上与未格式化的代码相同?
谢谢!
简单的:
它们应该是相同的。
它们应该相同的原因是 postgres 将 SQL 解析为其标准的规范形式,因此即使添加不必要的括号也会导致代码的内部版本相同。
我假设只有那些需要修改的对象才需要格式,如果是这样,我建议只格式化您正在处理的对象,最后结果应该投入生产。我使用 Oracle SQL Developer,我可以安全地处理程序单元并进行格式化。
对于您的问题:要将格式化的源代码与未格式化的源代码进行比较,您必须对它们中的每一个进行标记并比较结果。这实际上破坏了您最初的目标。;-)