English 中文(简体)
ORM:手写模式还是自动生成?
原标题:
  • 时间:2008-09-24 13:01:29
  •  标签:

Should I use a hand-written schema for my projected developed in a high-level language (such as Python, Ruby) or should I let my ORM solution auto-generate it? Eventually I will need to migrate without destroying all the data. It s okay to be tied to a specific RDBMS but it would be nice if features such as constraints and procedures could be supported somehow.

最佳回答

我从不使用ORM生成的模式。

我发现ORM想要生成模式的方式通常与我想要的数据库结构化方式完全不一致。此外,我知道这是微不足道的,命名方案通常很糟糕。

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

问题回答

请参阅这篇《编码恐怖》文章以及关于您最终需要进行的迁移的讨论链接。现在就计划好。

另请参阅Martin Fowler谈数据库进化;我特别建议将测试数据生成作为数据库设置的一部分。这个想法可能有点不成熟,因为没有清楚地描述不同环境中的不同问题,开发与QA与生产。

让ORM生成它想要的模式。然后,你总是可以改变那些太慢或你想要的不同的事情。但它可以让你快速开始并有一些工作,加上ORM人员通常知道他们在生成模式时会做什么。

让您的ORM解决方案生成它,但不要盲目使用它;通读一遍,检查一下是否理智。





相关问题
热门标签