2012-01-10 20 views
6

Estoy tratando de transferir los datos de mi DB de producción a mi BD provisional sin éxito.¿Cómo transferir los datos de mi DB de producción a mi DB de ensayo en heroku?

estoy siguiendo la documentación del heroku en él: http://devcenter.heroku.com/articles/pgbackups#transfers

Estos son los comandos que he correr ...

$ heroku addons:add pgbackups --remote staging 
$ heroku addons:add pgbackups --remote production 
$ heroku pgbackups:capture --remote production 
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --remote production` --remote staging 

Y este es el mensaje que recibo ...

Usage: heroku pgbackups:restore [<DATABASE> [BACKUP_ID|BACKUP_URL]] 

restore a backup to a database 

if no DATABASE is specified, defaults to DATABASE_URL and latest backup 
if DATABASE is specified, but no BACKUP_ID, defaults to latest backup 

Parece que estoy deletreando algo mal, pero no puedo resolverlo.

También he intentado el mismo comando utilizando el nombre de las aplicaciones en lugar de la distancia ...

$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 

pero me sale el mismo mensaje sin transferencia real en ese momento.

Cualquier ayuda es muy apreciada.

Respuesta

11

No creo que haya capturado correctamente. Utilice siempre --app en lugar de --remote

$ heroku pgbackups:capture --app myapp 
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 
+0

Gracias Neil. ¡Lo intenté y me dieron un '! Recurso no encontrado' error. También he ejecutado 'heroku pgbackups --app myapp' y me muestra correctamente mis copias de seguridad para que el recurso esté allí, simplemente no lo carga. – rebagliatte

+0

'resource not found' generalmente se devuelve cuando utiliza un nombre de aplicación incorrecto; estos deben estar como se enumeran en la página de myapps en el sitio heroku. El comando Neils es exactamente correcto ya que lo he usado yo solo. –

+0

Gracias John, aunque juro que estoy usando los nombres correctos. Acabo de comprobar que funciona 'heroku apps' – rebagliatte

4

No estoy seguro si de Heroku cambiaron ya que estos fueron publicadas en enero pasado, pero cuando corro

heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging 

seguí recibiendo un error que acaba de decir

"! Backup not found"

Aunque, cuando ejecuté el comando por sí solo para obtener la URL:

heroku pgbackups:url --app myapp 

y luego probé la URL en el navegador, esa URL FUE correcta.

Así que en vez he intentado enviar la URL copiado/pegado a la orden de cambio, como:

heroku pgbackups:restore DATABASE "http://urlgoeshere" --app myapp-staging 

tuve que usar comillas dobles alrededor de la URL, no comillas simples. De lo contrario, tengo este error:

The filename, directory name, or volume label syntax is incorrect. 'Expires' is not recognized as an internal or external command, operable program or batch file. 'Signature' is not recognized as an internal or external command, operable program or batch file.

+0

Estaba teniendo el mismo problema y pegar la URL como dice Gayle que funcionó para mí. –

+0

Alguien comentó en nuestro Centro de desarrollo que se encontraron con lo mismo, pero no he podido replicar este problema. ¿Puede decirme qué error estaba viendo (si hay algo más que "! Backup no encontrado" arriba), si todavía ve el problema, qué pasa cuando ejecuta 'set -x' de antemano (ejecute' set + x' luego para apagar el eco de nuevo) y qué shell y sistema operativo está utilizando (estoy con Heroku Postgres)? –

Cuestiones relacionadas