在更新应用程序版本后,我正在寻找一种在生产数据库上验证sql模式的方法。如果应用程序与DB模式版本不匹配,则应该有一种方法来警告用户并列出所需的更改。
有没有工具或框架(使用程序设计)与内置功能这样做?
还是有一些简单的算法来运行这个比较?
Update: Red gate lists “from $395”. Anything free? Or more foolproof than just keeping the version number?
解决方法
尝试这个sql。
– 针对每个数据库运行它。
– 将输出保存到文本文件。
– 区分文本文件。
– 针对每个数据库运行它。
– 将输出保存到文本文件。
– 区分文本文件。
/* get list of objects in the database */ SELECT name,type FROM sysobjects ORDER BY type,name /* get list of columns in each table / parameters for each stored procedure */ SELECT so.name,so.type,sc.name,sc.number,sc.colid,sc.status,sc.type,sc.length,sc.usertype,sc.scale FROM sysobjects so,syscolumns sc WHERE so.id = sc.id ORDER BY so.type,so.name,sc.name /* get definition of each stored procedure */ SELECT so.name,sc.text FROM sysobjects so,syscomments sc WHERE so.id = sc.id ORDER BY so.type,sc.number