2011-03-06 86 views
0

如何使用Rails 3从现有数据库中的表中读取与Rails 3标准架构不匹配的数据?Ruby on Rails 3,续集,攻击现有数据库

我被告知续集宝石是一个很好的开始,但我没有太多的东西。

具体细节:

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

回答

0

续集是一个很好的宝石。这是我在处理遗留数据库时的第一选择。

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

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

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

通过脚手架,你的意思是形式?

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

续集非常灵活,可让您使用原始SQL,使用模型或在两者之间工作。如果你有一个名为“汤匙”并已连接到它的表:

DB[:spoons] 

将创建一个数据集来访问表。从那里,你可以追加WHERE子句,选择,排序等

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

class Spoon < Sequel:Model 
end 

这对于所有创建的表的记录与存取模型领域。

续集对主索引名称"id"进行了假设,如ActiveRecord,但您可以根据需要进行更改。

这两种方法都非常强大,并且对于使用字段及其类型的自动发现的数据库来说效果很好。

The README是您需要知道的一个非常好的概述。

另外,Jeremy Evans是开发人员,如果您问他技术问题,他会非常敏感。

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

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