私はherokuにアプリを持っていたので、別のアプリを作成することにしました(stack:migrateをサポートしていないcedarスタックで)。
データベース PG と MongoHq を移行するにはどうすればよいですか?
ありがとう!
heroku にログインして addons => mongohq をクリックすると、MongoHQ を移行できます。アプリケーションから、単純なパスワードを使用して「backup」という名前のデータベース ユーザーの下に新しいユーザーを作成します。以下、私のパスワードは「temppw」でした。次に、接続情報 (ホスト:ポート [flame.mongohq.com:27049] およびデータベース名 [appXXXXXX]) の [データベース情報] タブをクリックします。次に、mongodump を呼び出してバックアップを取得します。
mongodump -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw
これにより、データを含む "dump" というローカル ディレクトリが作成されます。ローカル db にロードして、そこにあることを確認します (mongorestore を実行して、ローカルの mongo インストールを調べます)。古いアプリを破棄すると、MongoDB が破棄されるためです (heroku は postgres db も破棄するため、これを行う必要があります)。それも)。
とにかく、mongorestore を使用することを除いて、新しいアプリケーション データベースに対して上記と同じことを行います。
mongorestore -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw dump/appXXXXXX
環境の URL だけを指定しないでください。最初のアプリを削除するとすべてのデータが破壊されるため、これは危険です。
MongoHQ についてはわかりませんが、PostgreSQL に関しては、Heroku Tapsを使用してリモート データベースからローカル マシンにデータをプルできます。その後、それを新しいアプリにプッシュできます。
別の方法として、新しい Cedar アプリの環境変数DATABASE_URL
を、古いアプリで使用されているデータベースを指すように変更することもできます (共有データベースを使用していないと仮定します) 。
この最後のアプローチは、MongoHq でも機能します。