我应该为使用高级语言(如 Python、Ruby)开发的项目使用手写模式,还是应该让我的 ORM 解决方案自动生成它?最终,我需要在不破坏所有数据的情况下进行迁移。可以绑定到特定的 RDBMS,但如果可以以某种方式支持约束和过程等功能,那就太好了。
Johan Dahlin
问问题
785 次
4 回答
3
我从不使用 ORM 生成的模式。
我发现 ORM 生成模式的方式通常与我希望数据库的结构完全不一致。另外,我知道这是微不足道的,命名方案通常很差。
数据库结构有其自身的约束,我发现 ORM 自动生成工具通常不会充分考虑这些约束。如果您以后想要在您的数据库上运行报告(并且您会这样做),那么拥有良好的数据库结构和设计非常重要。
于 2008-11-20T22:35:25.950 回答
2
请参阅此 Coding Horror 文章和链接以讨论您最终需要进行的迁移。现在就计划吧。
另见关于数据库演变的 Martin Fowler;我特别推荐测试数据生成是数据库设置的一部分的概念。这个想法可能有点不成熟,因为在不同的环境中,开发与 QA 与生产中的不同问题没有明确的描述。
于 2008-10-20T21:08:59.977 回答
1
让 ORM 生成它想要的模式。然后你总是可以改变太慢或你想要不同的东西。但它可以让您快速开始并有一些工作,而且 ORM 人员通常知道他们在生成模式时会做什么。
于 2008-09-24T13:20:21.237 回答
0
让你的 ORM 解决方案生成它,但不要盲目使用它;通读它并进行完整性检查。
于 2008-11-26T14:44:43.917 回答