2013-04-12 5 views
2

레일즈 3.2.2를 사용하여 sqlite에서 postgres 9.2 로의 마이 그 레이션을 마치십시오.Win7에서 heroku에 postgres db를 푸시하는 쉬운 방법은 무엇입니까? db : pull 및 pg : transfer의 문제

Failed to connect to database: Sequel::AdapterNotFound -> LoadError: cannot load such file --pg

내가 더 깊이 파고 DB를 발견 : 풀은 (보석 도청)이 사용되지 않습니다 그것이 내가 얻을 heroku db:pull을 실행 묻습니다 사용 포스트 그레스를 설치하는 지침으로 this 튜토리얼에 답하고 11 단계에 붙어있어 pg : transfer에 대한 몇 가지 권장 사항을 발견했습니다. 설치된 페이지 : heroku pg:transfer가 반환 :

Heroku client internal error. No such file or directory - .env (Errno:ENOENT)

을 내가 페이지를 할 경우 : (?) 이전,하지만 난 단지 내가 실행하는 것처럼이 괜찬을 * 할 수있는 인상을 -f로 전송하고 -t 나에게 : 'env' is not recognized as an internal or external command, operable program or batch file 그것은 경로에 바인딩되지 않았거나 윈도우에 명령으로 존재하지 않는다는 의미입니다.

위의 오류에 대한 의견이 있으십니까?

DATABASE_URL=postgres://localhost/myapp_development 

참고 :

+0

os x에서 동일한 문제가 발생했습니다. – Woahdae

답변

1

: 백업 보석을, 이것은 Heroku 문서의 탭 대체품으로 추천되었습니다. this guide을 사용하고 Heroku 용 드롭 박스에 내 덤프를 업로드했습니다. 내 인스턴스에 heroku.com 추가 기능에서

  1. 추가 된 pgbackups :

    은 다음 단계와 CMDS 내 정확한 목록입니다.

  2. heroku pgbackups:capture DATABASE
  3. 내 보관함에 폴더로
  4. pg_dump -h localhost -U <pg username> -Fc dbname > dbname.dump
  5. 이전 dbname.dump (이것은 단지 당신에게 Heroku의 DB를 백업)
  6. 드롭 박스에서 dbname.dump => "링크 공유"
  7. 을 마우스 오른쪽 버튼으로 클릭
  8. 가 공유 대화 팝업 취소, "다운로드 버튼"링크 주소 복사를 마우스 오른쪽 버튼으로 클릭 (크롬)
  9. heroku pgbackups:restore DATABASE <paste dropbox download link here>

DRO pbox의 trickiness : 그것은 html로 리디렉션이고 페이지가 발생할 수 있기 때문에 드롭 박스가 제공하는 파일 링크를 사용하지 마십시오 확장이 대신

.dump에 종료에도 불구하고, 을 실패 복원, 보관 용 페이지 "로 이동 다운로드 단추에서 복사 링크 주소를 마우스 오른쪽 단추로 클릭하십시오. 그게 당신이 pgbackups에서 사용하는 주소입니다 : 복원 (db.dump?token=<long random string>과 같아야합니다)

조금 어색하지만 작업이 완료되었습니다. 당신이 더 나은 방법을 알고 있다면 알려주세요!

0

당신은 같은 것을 포함하는 .env의 파일을 만들 필요가

페이지를 사용하여 해결
+0

"myapp.env "파일을 DATABASE_URL 설정에 대한 한 줄로 내 응용 프로그램의 루트에 복사 한 다음'heroku pg : transfer'를 실행하고'.env not found' 오류를 통해 계속 실행합니다. 내 응용 프로그램 루트에 있어야합니까? – JStandard

+1

또한 sidenote , 나는 pg : transfer author에서 ddollar라고 들었는데, 그는 pg : transfer가 Windows에서 작동 할 것이라고 생각하지 않는다고 언급했다. – JStandard

+0

내 기억에 대한 구체적인 오류는'.env'라는 파일 myproject.env')를 프로젝트 루트에 추가합니다 .Heloku는'.env' 파일을 가지고있을 필요가 없으며 다른 구문을 지원할 수도 있습니다. 그러나'pg : transfer' 자체가'.env '를 찾은 것 같습니다. 그러나 창에서 작동하지 않을 수 있습니다. 내가 말할 수있는 파일을 찾을 수없는 오류에만 말할 수 없습니다. – Woahdae