Изменение приложения Heroku: миграция БД (pg и MongoHQ) - PullRequest
6 голосов
/ 26 ноября 2011

у меня было и приложение на героку Затем я решил создать другое приложение (на стеке кедра, который не поддерживает стек: перенос).

Как перенести базы данных PG и MongoHq?

Спасибо!

Ответы [ 2 ]

8 голосов
/ 05 декабря 2011

Вы можете перенести MongoHQ, войдя в heroku и нажав на addons => mongohq. Из приложения создайте нового пользователя в разделе «Пользователи базы данных» с именем «backup» с помощью простого пароля. Ниже мой пароль был «temppw». Затем перейдите на вкладку Database Information для информации о вашем соединении (хост: порт [flame.mongohq.com:27049] и имя_базы [appXXXXXX]). Затем просто позвоните mongodump, чтобы получить резервную копию.

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

Это создаст локальный каталог с именем «dump», содержащий ваши данные. Убедитесь, что он есть, загрузив его в локальную базу данных (просто запустите mongorestore и посмотрите в своей локальной установке mongo) - потому что, когда вы уничтожаете старое приложение, оно уничтожает MongoDB (heroku также уничтожает вашу базу данных postgres - так что вы должны сделать это для это тоже).

В любом случае, сделайте то же, что и выше, для своей новой базы данных приложений, за исключением использования mongorestore.

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

НЕ ТОЛЬКО НАПРАВЛЯЙТЕ URL-адреса ОКРУЖАЮЩЕЙ СРЕДЫ . Это опасно, потому что удаление вашего исходного приложения уничтожит все ваши данные.

1 голос
/ 27 ноября 2011

Я не уверен насчет MongoHQ, но что касается PostgreSQL, вы можете использовать Heroku Taps , чтобы вытащить данные из удаленной базы данных на локальный компьютер. Затем вы можете отправить его в новое приложение.

В качестве альтернативы вы можете изменить переменную среды DATABASE_URL вашего нового приложения Cedar так, чтобы она указывала на базу данных, используемую старым приложением - при условии, что вы не используете общую базу данных .

Этот последний подход также будет работать для MongoHq.

...