2016-07-15 2 views
1

나는 나의 http://localhost:3000/ 나는 점점 오전에 갈 때 다음레일 : 마이그레이션 오류

ActiveRecord::PendingMigrationError

Migrations are pending. To resolve this issue, run: bin/rails db:migrate RAILS_ENV=development

추출 소스 : 또한

# Raises <tt>ActiveRecord::PendingMigrationError</tt> error if any migrations are pending. 
def check_pending!(connection = Base.connection) 
    raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection) 
end 
def load_schema_if_pending! 

, 나는 콘솔에서 heroku run rake db:migrate을하려 할 때,

StandardError: An error has occurred, this and all later migrations canceled: PG::DuplicateColumn: ERROR: column "email" of relation "users" already exists

나는 루비에 새로운 오전 및 Mac으로 devise tutorial을 따랐다 고 말했다 켄지 아이. 내 첫 번째 루비 응용 프로그램을 완성하는 마지막 단계입니다.

나는 당신의 도움에 기대하고 있습니다! :)

답변

0

에 당신이 있는지 확인합니다. 모델에 이미 이전에 있었으며 이미 email 열이있었습니다.

PG::DuplicateColumn: ERROR: column "email" of relation "users" already exists

이 당신의 유증 생성 마이그레이션을 열고 그 문제를 해결하고 보이는 줄을 제거하려면 다음을 고안 생성 마이그레이션은 당신이보고있는 오류의 이유, 동일한 열을 만들려고하고, 예상대로 실패 다음과 같이 입력하십시오 :

t.string :email... 

그런 다음 rake db:migrate을 실행하십시오. 데이터베이스가 당신의 마이그레이션와 동기화 될 것으로 보인다 때문에

UPDATE

처음부터 다시 작성하는 것이 좋습니다 수 있습니다. 모든 데이터베이스의 데이터가 파괴됩니다

실행

rake db:drop db:create db:migrate 

참고.

+0

나는 이것을 시도했지만 다음과 같은 레이크 db : migrate 후에도 오류가 발생합니다. 레이크 중단되었습니다! StandardError : 오류가 발생했습니다.이 이후의 모든 마이그레이션이 취소되었습니다. SQLite3 :: SQLException : 중복 열 이름 : encrypted_password : ALTER TABLE "users"ADD "encrypted_password"varchar DEFAULT ''NOT NULL /Users/matthiascordes /. rvm/gems/ruby-2.3.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb : 91 :'초기화 ' /Users/matthiascordes/.rvm/gems/ruby-2.3.1/gems /sqlite3-1.3.11/lib/sqlite3/database.rb:91:in'new ' ...등등 –

+0

및 또한이 대신 : SQLite3 :: SQLException : 해당 테이블 : users : ALTER TABLE "users"ADD "encrypted_password"varchar DEFAULT 'NOT NULL –

+0

내 대답의 업데이트를 참조하십시오. –

1

콘솔 실행에 rake db:migrate 당신은 당신의 User 모델에 대한 마이그레이션을 준비하기 위해 고안 생성기를 사용하는 프로젝트 디렉토리

+0

'heroku run rake db : migrate'를 실행하면 추가 할 수 있습니다. 로컬 호스트가 아니라 Heroku에서 마이그레이션을 실행합니다. "PG :: DuplicateColumn : ERROR : column"전자 메일 "관계"사용자 "already exists"와 같은 오류는 대개 마이그레이션 이름이나 버전을 수정 한 것입니다. – Leito

+0

불행히도 도움이되지 않았습니다. "레이크가 중단되었습니다. StandardError : 오류가 발생했습니다.이 이후의 모든 마이그레이션은 취소됩니다."Ater that : "SQLite3 :: SQLException : 중복 열 이름 : 전자 메일 : ALTER TABLE"사용자 "ADD" 이메일 "varchar DEFAULT 'NOT NULL" 그리고 SQLite3 및 activerecord에 대한 행의 많은 hundrets –