현재 새로운 자동 증가 컬럼이 필요한 기존 모델 인 Document가 있습니다. 불행히도 마이그레이션하는 동안 오류가 발생합니다. 레일즈 모델에 AUTO_INCREMENT 컬럼 추가하기 -
내가 촬영 한 단계
는 다음과 같습니다class AddIndexColumnToDocument < ActiveRecord::Migration
def self.up
execute 'ALTER TABLE documents ADD index INT NOT NULL AUTO_INCREMENT PRIMARY KEY'
end
def self.down
execute 'ALTER TABLE documents DROP index'
end
end
: 제대로 빈
.rb
이
20121220182429_add_index_column_to_document.rb
다음
라는 제목의 생성 이ruby script/generate migration add_index_column_to_Document
, 내가처럼 보이도록 파일을 편집
가 그럼 난 rake db:migrate
로 마이그레이션을 실행하고 다음과 같은 오류 있어요 :
== AddIndexColumnToDocument: migrating =======================================
-- execute("ALTER TABLE documents ADD index INT NOT NULL AUTO_INCREMENT PRIMARY KEY")
rake aborted!
An error has occurred, all later migrations canceled:
Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INT NOT NULL AUTO_INCREMENT PRIMARY KEY' at line 1: ALTER TABLE documents ADD index INT NOT NULL AUTO_INCREMENT PRIMARY KEY
MySQL의 버전을 apt-cache show mysql-server
에 따라입니다 : 나를 위해 불행하게도 5.5.28-0ubuntu0.12.04.2
내 SQL 코드는 온라인에서 찾을 수있는 모든 예제와 일치하므로 작동하지 않는 이유는 확실하지 않습니다. 제공 할 수있는 도움에 미리 감사드립니다.
primary_key로 전통적인 'id'를 사용하지 않으려는 이유가 있습니까? 나중에 더 쉽게 시간을 가질 수 있습니다 ... – PinnyM