我被赋予了彻底改造数据库的任务。该数据库具有所有此类不良做法,几乎没有主键,缺少关系,数据类型选择不当。我很欣赏其中的一些难点,但是肯定有一些道理。如果名称为IsActive并且类型为nvarchar,则至少应该是代码气味。我试图找到质量门或什至是RedGate Schema比较或类似工具。
最后要确定的是一个SQL Server数据库,显然我正在迁移到SSDT,以便我们可以获取有关更改的历史信息,而且我认为作为CI流程的一部分,我将对其进行质量检查。< / p>
例如,有一个用于T-SQL的https://www.sonarsource.com/tsql/,但我找不到一个可以分析架构的方法,也没有真正从本地或从位桶管道的角度来设置它的方法
答案 0 :(得分:2)
我个人使用tSQLt unit-testing database framework进行了大量常规质量检查。例如,搜索没有主键的表,或者搜索名称中带有“ id”但没有引用任何内容的列,或者强制执行命名标准。
这是特别有价值的方法
SQLCop可以免费提供大量此类测试。我强烈建议将它们与tSQLt一起检查。