0

我已经在遗留数据库之上启动了一个 Rails 项目。尚未遵循使用 ORM 所需的标准做法,例如为每个表分配 ID 字段。因此,我不会创建与所有表匹配的所有模型。我需要运行使用多种条件连接多个表的查询。我将主要使用 Model.find_by_sql 或 Model.connection.select_all 方法。我应该把这些查询放在哪里?我应该将这些存储在我创建的查询中涉及的模型之一中吗?这种情况的标准做法是什么?

4

2 回答 2

1

尽可能地,您仍然希望通过将查询和诸如此类的东西放入模型层来将应用程序的其余部分与数据库的详细信息隔离开来。所以是的,在与您尝试做的事情相关的正确模型对象中“隐藏”似乎是正确的事情。

您是否允许更改数据库的架构?如果是这样,您可能希望使用迁移来慢慢使您的数据库看起来更像一个标准的 ActiveRecord 后备存储。

您可能还想研究 ActiveRecord 的替代品,例如Sequel

于 2013-04-22T07:51:57.020 回答
-1

将 sql 查询放在 db 下的 sql 文件夹下是个好主意。您需要创建 sql 文件夹。

于 2013-04-22T07:18:24.443 回答