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

时间:2020-03-06 14:39:36  来源:igfitidea点击:

我应该为使用高级语言(例如Python,Ruby)开发的项目使用手写模式,还是让我的ORM解决方案自动生成它?
最终,我将需要迁移而不破坏所有数据。可以绑定到特定的RDBMS,但是如果可以以某种方式支持约束和过程之类的功能,那将是很好的。

解决方案

让ORM生成所需的架构。然后,我们总是可以更改太慢或者我们想要不同的东西。但是,它使我们可以快速入门并可以正常工作,而且ORM人员通常知道他们在生成模式时的工作方式。

请参阅此《编码恐怖》文章和链接,以获取有关最终​​需要进行的迁移的讨论。现在就计划。

另请参见Martin Fowler的数据库演进;我特别推荐以下概念:测试数据生成是数据库设置的一部分。这个想法可能有点欠发达,因为没有清楚地描述在不同环境中的不同问题,即开发,质量保证与生产。

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

我发现ORM想要生成模式的方式通常与我希望数据库的结构完全不一致。另外,我知道这很简单,命名方案通常很差。

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

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