将旧数据库与新的 Rails 应用程序一起使用时,常见的问题/绊脚石/问题/缺点是什么?
我们必须在使用旧数据库或编写迁移脚本以按照 Rails 约定将数据从旧数据库带到新数据库之间做出决定。你有什么建议?
将旧数据库与新的 Rails 应用程序一起使用时,常见的问题/绊脚石/问题/缺点是什么?
我们必须在使用旧数据库或编写迁移脚本以按照 Rails 约定将数据从旧数据库带到新数据库之间做出决定。你有什么建议?
表命名是让我有一段时间的。诀窍是在你的模型中使用它:
set_table_name 'old_table_name'
set_primary_key 'old_key_column'
这样,您可以在链接到您想要的任何表时使用您想要的任何模型名称。
1)通常第一个问题是数据库模式设计具有复合主键(多列键),其中 Rails(或至少 ActiveRecord)需要名为“id”的主键。许多好的数据模型不使用代理键,它们使用自然键,因此它们无法避免复合键。实际上,在为 ORM 设计新数据库时,使用名为“id”的代理键更为实用,但通过始终在自然键上包含备用键约束/索引来强制数据完整性。
2)使用复数与单数的表命名(Rails 希望复数映射到其域对象。对于许多数据库,这可以通过同义词轻松克服。
这是我在使用 Rails 和其他 MVC 框架时遇到的两个问题,但在过去几年中有些问题发生了变化,并提供了简单废话的替代方案。更改遗留数据库的成本很高,并且强制执行命名约定是一个大错误,我相信现在已经学会了这一点。