背景
系统中的数百个数据库对象(视图,包,存储过程等)没有格式化,也没有源代码注释.我们想:
>自动重新格式化代码(使用General SQL Parser).
>自动将标准注释标题复制到每个对象的源文件中.
问题
我们不能在没有经过测试的情况下将这种彻底的变化推向生产.
题
您如何验证重新格式化的源代码在功能上与未格式化的代码相同?
谢谢!
最佳答案 简单:
>针对新的新数据库运行未格式化的代码
>对新的新数据库运行格式化代码
>完全导出两者并比较两个文件
它们应该完全相同.
它们应该完全相同的原因是postgres将SQL解析为其标准的规范形式,因此即使添加不必要的括号,例如也应该导致相同的内部版本的代码.