加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 使用t.integer和t.reference在rails迁移中定

发布时间:2020-12-17 03:35:46 所属栏目:百科 来源:网络整理
导读:鉴于两个类,Apple和Orange: def class Apple ActiveRecord::Base has_and_belongs_to_many :orangesenddef class Orange ActiveRecord::Base has_and_belongs_to_many :applesend 使用t.integer在连接表中定义外键有什么区别: create_table :apples_orange
鉴于两个类,Apple和Orange:

def class Apple < ActiveRecord::Base
  has_and_belongs_to_many :oranges
end

def class Orange < ActiveRecord::Base
  has_and_belongs_to_many :apples
end

使用t.integer在连接表中定义外键有什么区别:

create_table :apples_oranges,:id => false do |t|
  t.integer :apple_id
  t.integer :orange_id
end

并使用t.references在连接表中定义外键:

create_table :apples_oranges,:id => false do |t|
  t.references :apple
  t.references :orange
end

我看过两者,它们似乎是可以互换的.只是想确保没有一些我遗漏的微妙/魔法.

哦,我在Rails 3.2上使用MySQL

解决方法

http://guides.rubyonrails.org/migrations.html#special-helpers

本身没有魔力.如果您愿意,可以使迁移更具可读性,更易使用,如果您使用多态,则还要添加类型列.所以,或者,但参考更好,只是因为它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读