2014-10-06 4 views
0

설정, 나는 다음과 같은 오류로 실행 : 고안 AddDeviseToUsers 마이그레이션 오류

== 20141006184828 AddDeviseToUsers: migrating ================================= 
-- change_table(:users) 
rake aborted! 
StandardError: An error has occurred, this and all later migrations canceled: 

SQLite3::SQLException: duplicate column name: name: ALTER TABLE "users" 
ADD "name" varchar(255)/home/vagrant/.rvm/gems/ruby-2.0.0-p576/gems/sqlite3- 
1.3.9/lib/sqlite3/database.rb:91:in `initialize' 

나는 몇 가지 다른 반응을 찾았지만 아무도 내 문제를 해결하는 것 같았다. 나는에 이름을 주석 시도 :

change_table(:users) do |t| 

    t.string :name 

그러나 그것은 단지 문제의 뿌리가 존재하는 확실하지 않은 (즉, 등, 중복 된 전자 메일 열을 추가하는 방법에 대한 불평.) 선 아래로 문제를 옮겼습니다.

답변

0

실수로 DB에 이름/이메일을 추가하는 두 가지 마이그레이션을 추가했을 수 있습니다. 모든 이전을 수행하고 :name:email을 한 번만 추가했는지 확인하십시오.

가 계속 오류가 발생하는 경우 다음 시도 :

rake db:reset 

이것은 당신의 DB를 다시 만든 다음 모든 마이그레이션을 실행하여 DB를 삭제합니다. 이 명령이 동일한 오류를 반환하면 마이 그 레이션에 문제가 있음을 알고 있어야합니다. 어딘가에 여전히 복제본이 있어야합니다.