0

如何使用 Rails 3 从与 Rails 3 标准模式不匹配的现有数据库中的表中读取数据?

有人告诉我,Sequel gem 是一个不错的起点,但除此之外我没有太多东西。

规格:

  • 它是一个 Oracle 数据库。我已经建立了连接,并确认迁移和回滚工作正常。
  • 我已经为所需的表和相关列生成了脚手架。
  • 我正在寻找一种方法来指定和映射相关的表和列。
  • 这可以在没有续集的情况下完成吗?
4

1 回答 1

0

续集是一个很好的宝石。当我处理遗留数据库时,这是我的首选。

它是一个 Oracle 数据库。我已经建立了连接,并确认迁移和回滚工作正常。

如果您的数据库在企业中并且正在生产中,并且正在被其他应用程序使用,那么您需要非常小心地使用迁移。如果你也负责数据库开发,我建议只使用它们,即使那样我也会小心。

我已经为所需的表和相关列生成了脚手架。

脚手架是指形式吗?

我正在寻找一种方法来指定和映射相关的表和列。

Sequel 非常灵活,允许您使用原始 SQL、使用模型或在两者之间工作。如果您有一个名为“spoons”的表并已连接到它:

DB[:spoons]

将创建一个数据集来访问该表。从那里您可以附加 where 子句、选择、排序等。

另一种方法是使用模型,类似于 ActiveRecord:

class Spoon < Sequel:Model
end

它创建了一个表记录模型,其中包含所有字段的访问器。

Sequel 对主索引名称做出假设"id",例如 ActiveRecord,但如果需要,您可以更改它。

这两种方法都非常强大,并且可以很好地与使用字段及其类型的自动发现的数据库配合使用。

自述文件很好地概述了您需要了解的内容。

此外,Jeremy Evans 是开发人员,如果您向他提出技术问题,他会非常积极响应。

这可以在没有续集的情况下完成吗?

当然。ActiveRecord 将使用模型工作,但如果键或表的名称不符合其预定/预期的名称,您可能必须告诉它它们的名称。

于 2011-04-01T09:13:58.923 回答