2013-01-02 1 views
0

첫 번째 Rails 애플리케이션을 만들었고 무료로 : dev : 데이터베이스를 가지고있었습니다. 나는 크레인 데이터베이스에 50 달러를 지불하고 내 dev 데이터베이스를 삭제했다.heroku pg 출력에 테이블이 0 인 경우 내 Rails 응용 프로그램에서 데이터를 저장하는 위치는 어디입니까?

실행 heroku pg 명령을

=== HEROKU_POSTGRESQL_NAVY_URL 
Plan:  Crane 
Status:  available 
Data Size: 5.9 MB 
Tables:  0 
PG Version: 9.1.6 
Connections: 3 
Fork/Follow: Available 
Created:  2012-12-17 21:46 UTC 
Maintenance: not required 

어떤 이상한 것은 내가 heroku run rake db:migrate를 실행하는 경우는 잘 실행한다는 것입니다,하지만 heroku pg여전히 0 테이블 수와 응용 프로그램 자체의 데이터에 있던 이전 데이터를 보여줍니다 내 : dev : 데이터베이스.

제안 사항? Heroku에게 어떻게 알 수 있습니까? Please use this database as the default from now on?

또한 heroku pg에 1 개의 데이터베이스 만 표시되고 해당 데이터베이스에 테이블이없는 경우 현재 내 애플리케이션에서 현재 표시중인 데이터를 가져 오는 위치는 어디입니까?

+0

테이블 수와 다른 통계가 캐시 될 수 있습니다. 앱에서 (레일스 콘솔 :'heroku run console'을 통해) 이동하여 마이그레이션이 제대로 수행되었는지 확인하십시오. –

+0

BTW : Heroku 데이터베이스는 1 분 또는 2 분 단위로 비용이 청구되므로 사전에 50 달러를 지불 할 필요가 없습니다. –

+0

@ThomasKlemm : heroku 콘솔 내부에있을 때'DATABASE_URL'에 존재하는 테이블을 확인하기 위해 어떤 명령을 실행할 수 있습니까? – sergserg

답변

1

기본적으로 레일스 앱에서 사용할 기본 데이터베이스로 크레인 데이터베이스를 승격시켜야했습니다. Heroku의 Rails 앱은 DATABASE_URL이라는 연결 문자열을 사용합니다.

그래서 먼저 내가 홍보하는 데 필요한 데이터베이스의 이름을 얻기 위해이 명령을 실행 :이은을하기 때문에, 마지막으로

heroku pg:promote HEROKU_POSTGRESQL_NAVY_URL 

:

heroku pg 

=== HEROKU_POSTGRESQL_NAVY_URL 
Plan:  Crane 
Status:  available 
Data Size: 5.9 MB 
Tables:  0 
PG Version: 9.1.6 
Connections: 3 
Fork/Follow: Available 
Created:  2012-12-17 21:46 UTC 
Maintenance: not required 

는 다음 나는 증진 명령을 실행 기본 데이터베이스를 지금 크레인 데이터베이스에 대해 마이그레이션을 실행할 수 있습니다.

heroku run rake db:migrate 
관련 문제