1

我在一个 Rails 网站上工作,该网站介绍股票共同基金和 ETF。我已经有一个单独的 Ruby 脚本,它每晚运行并使用这些共同基金和 ETF 的数据填充 Postgres 数据库。

Rails 教程的第 6 章并不是我想要的。我正在尝试做的与 Rails 教程第 6 章所做的不同之处在于: 1. 在我的 Rails 站点中,不需要创建数据库,因为它已经被填充。所以我认为我不需要使用“rails generate”或“rake db:migrate”。(或者我错了吗?) 2. 我的 Rails 站点只读取数据,不添加、删除或编辑数据。

4

1 回答 1

2

您不必创建迁移。只需创建您的模型。如果数据库表与模型名称不匹配,您可以使用set_table_name旧版本的 Rails 或self.table_name = 'table_name'新版本。如果你不使用外键和主键的 Rails 标准,你也必须指定它们。

例如:

# Assuming newer versions of Rails (3.2+, I believe)

class ETF < ActiveRecord::Base
  self.primary_key = 'legacy_id'
  self.table_name = 'legacy_etfs'
  has_many :closing_prices, foreign_key: 'legacy_etf_id'
end

class ClosingPrice < ActiveRecord::Base
  self.primary_key = 'legacy_id'
  self.table_name = 'legacy_closing_prices'
  belongs_to :etf, foreign_key: 'legacy_etf_id'
end
于 2014-09-30T19:52:24.760 回答