Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ORM:手写模式还是自动生成?_Orm_Schema_Rdbms - Fatal编程技术网

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

ORM:手写模式还是自动生成?,orm,schema,rdbms,Orm,Schema,Rdbms,我应该为我用高级语言(如Python、Ruby)开发的项目使用手工编写的模式,还是让我的ORM解决方案自动生成它? 最终,我需要在不破坏所有数据的情况下进行迁移。可以绑定到特定的RDBMS,但如果能够以某种方式支持约束和过程等功能,那就太好了。让ORM生成它想要的模式。然后你总是可以改变那些太慢的事情或者你想要改变的事情。但是,它允许您快速开始工作,并使某些工作正常进行,而且ORM人员通常知道在生成模式时他们会做什么。有关您最终需要进行的迁移的讨论,请参阅和链接。现在就计划吧 也见,;我特别建议

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

让ORM生成它想要的模式。然后你总是可以改变那些太慢的事情或者你想要改变的事情。但是,它允许您快速开始工作,并使某些工作正常进行,而且ORM人员通常知道在生成模式时他们会做什么。

有关您最终需要进行的迁移的讨论,请参阅和链接。现在就计划吧


也见,;我特别建议将测试数据生成作为数据库设置的一部分。这个想法可能有点不成熟,因为对于不同环境中的不同问题,开发、QA和生产,没有一个清晰的描述。

我从不使用ORM生成的模式

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


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

让你的ORM解决方案生成它,但不要盲目地使用它;通读并检查它的合理性。

我认为这是一个很好的开始,但我总是需要停止生成并自己管理它,通常是出于数据库性能的原因。