ORM:手写架构还是自动生成的?

时间:2008-09-24 13:01:30

标签: orm schema rdbms

我是否应该使用手写的模式为我的高级语言(如Python,Ruby)开发,或者我应该让我的ORM解决方案自动生成它? 最终我需要在不破坏所有数据的情况下进行迁移。可以绑定到特定的RDBMS,但如果可以某种方式支持约束和过程等功能,那就太好了。

4 个答案:

答案 0 :(得分:3)

我从不使用ORM生成的架构。

我发现ORM想要生成模式的方式通常与我希望数据库的结构方式完全不同。而且,我知道这是微不足道的,命名方案通常很差。

数据库结构有自己的约束,我发现通常ORM自动生成工具不会完全考虑。如果您以后想要在您的数据库上运行报告(并且您愿意),那么拥有良好的数据库结构和设计非常重要。

答案 1 :(得分:2)

请参阅this Coding Horror article以及有关您最终需要执行的迁移的讨论的链接。现在就计划好。

另见Martin Fowler on database evolution;我特别推荐测试数据生成是数据库设置的一部分。这个想法可能有点不发达,因为没有明确描述不同环境中的不同问题,即开发与质量保证与生产之间的差异。

答案 2 :(得分:1)

让ORM生成它想要的架构。然后你总是可以改变太慢或你想要的东西。但它允许您快速入门并开始工作,而ORM人员通常会知道在生成模式时他们会做些什么。

答案 3 :(得分:0)

让你的ORM解决方案生成它,但不要盲目地使用它;仔细阅读并理智检查。