【问题标题】:Database schema quality gate / analysis [closed]数据库模式质量门/分析[关闭]
【发布时间】:2021-01-21 06:04:27
【问题描述】:

我被赋予了彻底改造数据库的任务。这个数据库有所有这些不好的做法,主键很少,缺少关系,数据类型选择不当。我很欣赏其中一些很难理解,但肯定有一些说明。如果名称是 IsActive 并且类型是 nvarchar,这至少应该是代码异味。我试图找到质量门,甚至一些工具,如 RedGate Schema compare 或类似的。

只是为了最终确定这是一个 SQL Server 数据库,我显然正在迁移到 SSDT,因此我们可以获得有关更改的历史信息,我认为作为我们 CI 流程的一部分,我会对其进行质量检查。

例如,有一个用于 T-SQL,https://www.sonarsource.com/tsql/,但我找不到一个可以分析架构,也找不到真正如何在本地或从 bitbucket 管道角度设置它

【问题讨论】:

  • 问题到底是什么?要求场外资源是题外话。 How to Askhelp center
  • 在这个论坛中,您可以询问诸如我如何查询数据架构以返回具有与名称和数据类型匹配的列的表这样我们可以帮助您开发一个像你所要求的工具,但一般来说,你的问题是模糊的,会吸引自以为是的回应。例如,我的大部分业务都在完成您所描述的任务,如果有一种一刀切的方法,我就没有工作了。

标签: sql-server database-design sonarqube schema


【解决方案1】:

我个人使用tSQLt unit-testing database framework 进行大量通用质量检查。例如搜索没有主键的表,或名称中包含“id”但不引用任何内容的列,或强制执行命名标准。

如果

  • 您编写测试还可以生成代码来解决问题,
  • 您有其他数据库,您可以稍后在几分钟内将这些测试移动到其中,这样可以节省您数天的工作时间。

SQLCop 可以免费获得大量类似的测试。我强烈建议与 tSQLt 一起检查它们。

【讨论】:

    猜你喜欢
    • 2016-04-12
    • 1970-01-01
    • 2021-02-05
    • 2013-03-12
    • 1970-01-01
    • 2019-06-23
    • 2019-02-01
    • 2010-09-09
    • 2011-02-24
    相关资源
    最近更新 更多