2011-08-26 1 views
0

최근 rails3.1의 마이그레이션에 대한 질문이 있습니다. 여기에는 마이그레이션 파일 코드 중 하나가 있습니다.rails3.1에서 데이터베이스 마이그레이션

def change 
    create_table :books do |t| 
    t.string :title 
    t.decimal :price 
    end 
end 

가 지금은, 외부 키를 추가의이 comment_id 말을 할 필요가, 나는 또 다른 마이그레이션을 생성하고이 그것을 완수하기에 방법을 add_column 사용하는 데 사용. 마이그레이션하고 아무 반응이 없습니다 : 우리가 rail3.1에 있기 때문에

는하지만, 그래서 나는 it.so 내가

def change 
    create_table :books do |t| 
    t.string :title 
    t.decimal :price 
    t.references :comment 
    end 
end 

확인 코드를 변경 할 수있는 새로운 방법이 될 줄 알았는데, 지금은 갈퀴 DB를 실행 . 어떤 생각?

답변

0

을 실행하기 전에 rake db:rollback을 실행 했습니까? 변경 사항을 다시 적용하기 전에 이주를 롤 i해야합니다.

+1

또한 db : rollback을 실행할 때't.references : comment'도 제거해야합니다. – dexter

+0

rake db : rollback하면 이전에 데이터베이스가 있던 데이터를 삭제 하시겠습니까? – castiel

+0

아마 네, 그렇게 할 수 없다면 기존 마이그레이션을 변경하는 대신 새로운 마이그레이션 rails generate Migration AddReferencesToBooks comment : references를 만들어야합니다. –