2011-11-26 3 views

답변

8

heroku에 로그인하고 addons => mongohq를 클릭하면 MongoHQ를 마이그레이션 할 수 있습니다. 응용 프로그램에서 간단한 암호로 "backup"이라는 데이터베이스 사용자 아래에 새 사용자를 만듭니다. 아래, 내 암호는 "temppw"였습니다. 그런 다음 연결 정보 (호스트 : 포트 [flame.mongohq.com:27049] 및 dbname [appXXXXXX])에 대한 데이터베이스 정보 탭을 클릭하십시오. 그런 다음 mongodump를 호출하여 백업을받습니다.

mongodump -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw 

이렇게하면 데이터가 들어있는 "덤프"라는 로컬 디렉토리가 만들어집니다. 로컬 데이터베이스에로드하여 (그냥 mongorestore를 실행하고 로컬 mongo 설치를 살펴보십시오.) 이전 app을 파괴하면 MongoDB가 파괴되기 때문에 (heroku도 postgres db를 파괴합니다. 그뿐 아니라).

어쨌든 mongorestore를 사용하는 것을 제외하고는 새 응용 프로그램 데이터베이스에서 위와 동일하게 수행하십시오.

mongorestore -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw dump/appXXXXXX 

은 그냥 POINT 환경 URL이하지 않습니다. 초기 앱을 삭제하면 모든 데이터가 삭제되므로 위험합니다.

+0

좋습니다. – WHITECOLOR

+0

MongoHQ가 Compose FWIW로 이름이 변경되었습니다. – staypuftman

1

MongoHQ에 대해서는 잘 모르겠지만 PostgreSQL의 경우 Heroku Taps을 사용하여 원격 데이터베이스의 데이터를 로컬 시스템으로 가져올 수 있습니다. 그런 다음 새 앱으로 푸시 할 수 있습니다. 당신이 공유 데이터베이스를 사용하지 않는 가정 -

은 다른 방법은 데이터베이스를 가리 키도록 새 삼나무 응용 프로그램의 DATABASE_URL 변수는 기존 응용 프로그램에 의해 사용되는 환경을 변경할 수 있습니다.

이 마지막 접근법은 MongoHq에서도 작동합니다.

+0

감사합니다. 실제로 저는 mondodb 마이그레이션에 더 관심이 있습니다. 아직 새로운 앱에서 MONGOHQ_URL을 (를) 변경하려고 시도하지는 않았지만 아마도 그 목적을위한 표준 솔루션이있을 것이라고 생각했습니다. – WHITECOLOR

+1

아마도 도움이 될 수 있습니다. http://support.mongohq.com/customer/portal/articles/100129-migrate-local-db-to-mongohq – leonardoborges