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

有帮助吗?

解决方案

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

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

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

其他提示

请参阅此编码恐怖文章和链接讨论你最终需要做的迁移。现在就计划好。

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top