ORM: 手写模式还是自动生成模式?

5

在使用高级语言(如Python,Ruby)开发项目时,我应该使用手写模式还是让ORM自动生成模式?最终,我需要进行迁移而不会破坏所有数据。被特定关系型数据库系统限制是可以接受的,但如果能支持约束和过程等特性将更好。

4个回答

3
我从不使用ORM生成的模式。
我发现ORM想要生成模式的方式通常与我想要构建数据库的结构完全不同。此外,虽然这可能微不足道,但命名方案通常很差。
数据库结构有其自身的限制,我发现ORM自动生成工具通常无法充分考虑这些限制。如果您以后需要在数据库上运行报告(而您肯定会需要),那么拥有良好的数据库结构和设计非常重要。

2
请参考 Coding Horror 上的这篇文章和相关链接,了解你最终需要完成的迁移工作。现在就开始做好规划吧。
同时,请参考 Martin Fowler 的数据库演进;我特别推荐测试数据生成是数据库设置的一部分的概念。该想法可能有点不够完善,因为在不同的环境中,如开发、QA 和生产中,存在的问题有所不同,没有明确的界定。

1

让ORM生成它想要的模式。然后您始终可以更改太慢或想要不同的内容。但它允许您快速开始并拥有运行的东西,而ORM人员通常知道在生成模式方面该做什么。


我认为这是一个不错的开始,但出于数据库性能方面的原因,我总是需要停止生成并自己管理它。 - Ben Scheirman

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接