Rails:这里需要迁移吗?

时间:2016-03-30 03:05:39

标签: ruby-on-rails activerecord

我正在使用我拥有只读权限的现有数据库。 我想定义表之间的关系(has_one,has_many等)。 以下站点提供了迁移的示例以设置这些关系:

http://www.theodinproject.com/ruby-on-rails/active-record-associations

http://guides.rubyonrails.org/association_basics.html

我的问题是,rails'是否需要'这些迁移是为了在现有数据库上设置关系...还是模型文件中的定义是否足够?

感谢。

1 个答案:

答案 0 :(得分:0)

请检查您的数据库是否已有外部密钥(order_id等字段)。

如果没有,则需要在定义关联之前编写迁移。如果您使用的是Rails 4,它们将如下所示:

class AddGroupToPeople < ActiveRecord::Migration
  def change
   add_reference :people, :group, index: true
   add_foreign_key :people, :groups
  end
end

请使用本指南:http://guides.rubyonrails.org/active_record_migrations.html