开发环境是否应该禁用外键?

Joh*_*sen 5 sql-server development-environment

因此,虽然我们在当前项目中使用外键,但我之前听说过,在开发环境中启用外键检查只会在开发人员面前设置障碍 - 代码不应该依赖于外键.

我想知道人们对这个想法的看法 - 在开发时,你是否在开发环境中启用了外键,还是将它们关闭?

Mit*_*ers 24

我总是让它们保持启用状态.您希望确保您的代码不会执行违反FK规则的操作.如果删除它们,则无法阻止代码输入错误数据.此外,我们将使用CodeSmith等工具来帮助我们完成一些自动化工作,如果我们有FK,它可以自动为CodeSmith生成查询程序.

总的来说,我坚信开发环境应该是与生产环境非常接近的复制品.如果你没有它们,很可能会有生产失败的代码,因为它违反了FK约束,并且在测试中它可以正常工作.

  • 完全同意保持开发环境接近生产. (3认同)

Pau*_*ier 9

绝对保持启用它们.外键约束的存在实际上在开发中非常有用; 不使用约束可以允许惰性开发; 而且,它可以允许一些严重的问题蔓延到代码中,这可能在转移到生产环境时造成一些困难.


Cod*_*ker 6

我总是在我的环境中启用FK.这样做的原因是如果我编码没有FK的东西可能会打破后来打开它们.

即使打开它们可能会让人头疼一点,但从长远来看,这是值得的.