2

将旧数据库与新的 Rails 应用程序一起使用时,常见的问题/绊脚石/问题/缺点是什么?

我们必须在使用旧数据库或编写迁移脚本以按照 Rails 约定将数据从旧数据库带到新数据库之间做出决定。你有什么建议?

4

2 回答 2

2

表命名是让我有一段时间的。诀窍是在你的模型中使用它:

set_table_name  'old_table_name'
set_primary_key 'old_key_column'

这样,您可以在链接到您想要的任何表时使用您想要的任何模型名称。

于 2010-03-27T01:22:21.393 回答
1

1)通常第一个问题是数据库模式设计具有复合主键(多列键),其中 Rails(或至少 ActiveRecord)需要名为“id”的主键。许多好的数据模型不使用代理键,它们使用自然键,因此它们无法避免复合键。实际上,在为 ORM 设计新数据库时,使用名为“id”的代理键更为实用,但通过始终在自然键上包含备用键约束/索引来强制数据完整性。

2)使用复数与单数的表命名(Rails 希望复数映射到其域对象。对于许多数据库,这可以通过同义词轻松克服。

这是我在使用 Rails 和其他 MVC 框架时遇到的两个问题,但在过去几年中有些问题发生了变化,并提供了简单废话的替代方案。更改遗留数据库的成本很高,并且强制执行命名约定是一个大错误,我相信现在已经学会了这一点。

于 2010-03-27T00:46:11.243 回答