2016-12-01 2 views
1

Rails 4 in action 자습서에서 작성한 레일 앱을 배포하려고합니다. 나는 성공적으로 Heroku가 아니라 언제 실행 레이크 DB를 푸시했습니다 :이 오류를 받고 있어요 마이그레이션 :PG :: Undefinedtable : ERROR : 실행할 때 rake db : migrate on Heroku

heroku run rake db:migrate 
Running rake db:migrate on ⬢ fast-lowlands-66439... up, run.6711 (Free) 
    ActiveRecord::SchemaMigration Load (10.5ms) SELECT "schema_migrations".* FROM "schema_migrations" 
Migrating to CreateStates (20161123222713) 
    (2.5ms) BEGIN 
== 20161123222713 CreateStates: migrating ===================================== 
-- create_table(:states) 
-- add_reference(:tickets, :state, {:index=>true, :foreign_key=>true}) 
    (1.4ms) ALTER TABLE "tickets" ADD "state_id" integer 
    (9.7ms) CREATE INDEX "index_tickets_on_state_id" ON "tickets" ("state_id") 
    (4.6ms) ALTER TABLE "tickets" ADD CONSTRAINT "fk_rails_fc553dc329" 
FOREIGN KEY ("state_id") 
    REFERENCES "states" ("id") 

    (0.6ms) ROLLBACK 
rake aborted! 
StandardError: An error has occurred, this and all later migrations canceled: 

PG::UndefinedTable: ERROR: relation "states" does not exist 
: ALTER TABLE "tickets" ADD CONSTRAINT "fk_rails_fc553dc329" 
FOREIGN KEY ("state_id") 
    REFERENCES "states" ("id") 

응용 로컬로 작동하고 테이블이 존재한다.
추가 파일 게시가 필요한 경우 알려주십시오. 언제나 도움을 주셔서 감사합니다.

답변

2

내가 Heroku가에서 데이터베이스를 삭제하고 다시 작성 (당신은 DB에 저장된 모든 데이터를 잃어 버리게된다) 다음과 같습니다 :

heroku pg:reset DATABASE_URL --confirm your_app_name 

와 your_app_name 교체 당신은 다음 단계로이 일을 시도 할 수 있습니다 앱 이름은 heroku에 있지만 DATABASE_URL은 그대로 두십시오.

heroku run rake db:setup 

그것은 두 명령을 실행합니다 :

heroku run rake db:migrate 
    heroku run rake db:seed 

을 그리고 당신은 설정해야합니다

그런 다음 실행합니다.

2

이전 마이그레이션이 누락 된 것 같습니다.

heroku run rake db:create 
heroku run rake db:schema:load 
heroku run rake db:migrate 
관련 문제