[Rails] 키 이름만 바꿉니다.

1955 단어 MySQLRailstech

미리 준비하다


시계의 메인 키의 이름을 id 이외로 변경해야 하기 때문에 당시의 노트입니다.그나저나 바뀐 건 이름뿐이고 내용의 행동(자동 번호 매기는 녀석)은 바뀌지 않는다.

컨디션


Rails: 6.1.4
MySql: 10.13

결론(마이그레이션 파일)


class CreateHogeTable < ActiveRecord::Migration[6.1]
  def change
    create_table :hoge_tables, id: false do |t|
      t.column :hoge_id, 'BIGINT PRIMARY KEY AUTO_INCREMENT', null: false
    end
  end
end

기타 해설

  • id: false에 의해 자동으로 생성된 키(=id가 생성되지 않습니다.

  • 설정t.column을 통해 두 번째 매개변수에 원본 SQL과 같은 옵션을 추가할 수 있습니다.그런 다음 선택 사항은 BIGINT PRIMARY KEY AUTO_INCREMENT이 됩니다.이렇게 하면 기본적으로 자동으로 생성된 메인 키의 기능을 손상시키지 않고 이름만 변경할 수 있다.
  • 여기BIGINT가 지정하지만 사용하려면intINT
  • 좋은 웹페이지 즐겨찾기