Ruby on Rails 표에 참조 열 추가


team 에 대한 참조를 users 테이블에 추가하려면 다음 명령을 실행합니다.

$ rails generate migration AddTeamRefToUsers team:references

그러면 다음 마이그레이션이 생성됩니다.

class AddTeamRefToUsers < ActiveRecord::Migration[5.0]
  def change
    add_reference :users, :team, foreign_key: true
  end
end

이 마이그레이션은 users 테이블에 team_id 열을 생성합니다.

추가 된 열에 적절한 indexforeign_key 를 추가하려면 rails generate migration AddTeamRefToUsers team:references:index 하도록 명령을 변경하십시오. 이렇게하면 다음 마이그레이션이 생성됩니다.

class AddTeamRefToUsers < ActiveRecord::Migration
  def change
    add_reference :users, :team, index: true
    add_foreign_key :users, :teams
  end
end

당신이 자동 생성 레일보다 다른 참조 열 이름을 지정할 경우, 마이그레이션에 다음을 추가합니다 (예를 : 당신은 전화를 할 수 있습니다 User 생성 된 PostAuthorPost 테이블)

class AddAuthorRefToPosts < ActiveRecord::Migration
  def change
    add_reference :posts, :author, references: :users, index: true
  end
end