从命令行添加has_many和belongs_to migration
我生成了两个模型,现在想要实现活动记录关联。
我有设计师和物品。 Item属于Designer,Designer有许多Items。
我的模型看起来像这样:
应用程序/模型/ item.rb的:
class Item < ActiveRecord::Base belongs_to :designer validates :designer_id, presence: true end
应用程序/模型/ designer.rb:
class Designer < ActiveRecord::Base has_many :items, dependent: :destroy end
即使在我运行rake db:migrate
我的迁移也没有反映出新的关系。 他们展示了原始一代:
class CreateDesigners < ActiveRecord::Migration def change create_table :designers do |t| t.string :name t.string :country t.string :about t.timestamps end end end class CreateItems < ActiveRecord::Migration def change create_table :items do |t| t.string :title t.string :price t.string :description t.timestamps end end end
如何进行迁移,以便数据库反映我在模型中编写的has_many和belongs_to关系?
您需要创建新的迁移以添加外键
rails g migration add_designer_id_to_item designer_id:integer
并运行
rake db:migrate