【问题标题】:Rails: backing up has many associations in dbRails:备份在数据库中有很多关联
【发布时间】:2013-11-14 09:32:43
【问题描述】:

我有 User 主键 idBlog 主键 id 模型。

我在User 中与Blog 有一个has_many 关联,在Blog 中有一个belongs_toUser

据我了解,我需要手动修改架构。

您能否提供有关如何执行此操作的见解?

【问题讨论】:

    标签: ruby-on-rails ruby model schema


    【解决方案1】:
    # app/models/user.rb
    class User < ActiveRecord::Base
      has_many :blogs
    end
    
    # app/models/blog.rb
    class Blog < ActiveRecord::Base
      belongs_to :user
    end
    
    # db/migrate/20131103182551_add_user_id_to_blogs.rb
    class AddUserIdToBlogs < ActiveRecord::Migration
      def change
        add_column :blogs, :user_id, :integer
      end
    end
    

    然后运行rake db:migrate。然后您可以致电user.blogsblog.user

    【讨论】:

      【解决方案2】:

      您必须按照上面所说的进行操作,然后还要更改数据库架构。您通过迁移更改数据库架构。您缺少的步骤是=>您需要将 user_id 的外键添加到博客(您通过迁移来完成)或添加属于关系

      您可以使用“rails generate migration”命令创建迁移

      rails generate migration add_column :blogs, :user_id, :integer
      

      rails generate migration change_table :blogs, :belongs_to, :user
      

      迁移的结果应该是把user_id的外键添加到blogs中,或者应该在user和blogs之间添加belongs_to关联。

      在 db/migrate 文件夹中查找迁移结果

      然后运行

      rake db:migrate
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多