【问题标题】:Rails: are migrations needed here?Rails:这里需要迁移吗?
【发布时间】:2016-03-30 03:05:38
【问题描述】:

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

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

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

我的问题是,rails 是否“需要”这些迁移来设置现有数据库上的关系...或者模型文件中的定义是否足够?

谢谢。

【问题讨论】:

  • 完全依赖于现有的数据库。如果现有数据库具有包含主键和外键(在需要时)的良好架构,您可以简单地在模型中设置关系。但是,由于对现有数据库的了解为零,我们实际上无法说是或否。

标签: ruby-on-rails activerecord


【解决方案1】:

请检查您的数据库是否已有外部键(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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多