我有两种模式:
User
class User < ActiveRecord::Base
has_and_belongs_to_many :partners
end
和Partner
class Partner < ActiveRecord::Base
has_and_belongs_to_many :users
end
现在,我想将其更改为:
class User < ActiveRecord::Base
has_many :partners
end
class Partner < ActiveRecord::Base
belongs_to :user
end
但是如何通过迁移来实现呢?
答案 0 :(得分:1)
您可以将模型更改为:
class User < ActiveRecord::Base
has_many :partners
end
class Partner < ActiveRecord::Base
belongs_to :user
end
Partner
模型应该有user_id
列
如果您在user_id
模型中没有Partner
列,则可以按以下方式添加:
rails g migration add_user_id_to_partner user_id:integer
应删除中间表partners_users
,因为它是has_many
关联。
要删除表,请创建一个空迁移,然后将其添加到迁移文件中。
drop_table :partners_users
然后使用rake db:migrate