Según el título, necesito importar, pero las copias de seguridad de PG me dan un Postgres SQL estricto que no funciona con MySQL, también con una codificación no especificada que creo que es UTF-16. Usando db: pull toma años y errores antes de terminar. Agradecería cualquier sugerencia. Gracias.¿Cómo importar una gran base de datos de Heroku a mysql o sqlite3 local?
Respuesta
Configure localmente PostgreSQL, use PG backups para copiar los datos de Heroku a su máquina local, luego pg_restore
para importarlos en su nuevo PostgreSQL local. Luego puede copiarlo de PostgreSQL a MySQL o SQLite localmente sin tener que preocuparse por los tiempos de espera. O bien, dado que usted tendría una instalación funcional de PostgreSQL después de eso, simplemente comience a desarrollar sobre PostgreSQL para que su pila de desarrollo se adapte mejor a su pila de implementación; Desarrollar y desplegar en la misma base de datos es una buena idea.
Probablemente obtenga volcados binarios (es decir, pg_dump -Fc
) de Heroku, eso explicaría por qué el volcado parece una especie de tonterías UTF-16.
Puede utilizar los pgbackups addon para exportar el volcado de la base
$ heroku addons:add pgbackups # To install the addon
$ curl -o latest.dump `heroku pgbackups:url` # To download a dump
Hola, gracias, pero la instalación de PG para desarrollar es lo que quería evitar. Puede ser útil tener el mismo DB en dev, pero para la mayoría de los proyectos, simplemente no vale la pena, me quedaría con SQLite3. – aledalgrande
Al final terminé instalando PG (o puede usar el enviado con Lion). El proceso fue: * crear un usuario PG * restaurar el volcado con pg_restore * instalar el ** ** y ** pg grifos gemas ** * iniciar el servidor grifos en Postgres: postgres 'grifos servidor: // root @ localhost/rcp_dev tapsuser tapspassword' * extrae los datos de sqlite3 (lo mismo para mysql): 'toca pull sqlite: //db/development.sqlite3 http: // usuario de taps: tapspassword @ localhost: 5000' – aledalgrande
@aledalgrande: Desarrollar en PostgreSQL absolutamente vale la pena si se está implementando en Heroku. Todas las bases de datos tienen diferencias sutiles y no tan sutiles (GROUP BY, sensibilidad de caso, booleanos, disponibilidad de funciones, tipos de datos, requisitos de conversión, truncar o generar una excepción, ...) y ningún ORM puede protegerlo de todos ellos. Ahórrate algo de dolor, desarrolla y despliega en la misma pila. –
Heroku tiene instrucciones sobre cómo hacer esto: https://devcenter.heroku.com/articles/heroku-postgres-import-export#restore-to-local-database, que se reducen a:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
donde myuser
es la corriente usuario y mydb
es la base de datos actual.
Si está usando Postgres.app, es bastante trivial copiar su base de datos de producción localmente. Usted puede dejar de lado -U myuser
menos que haya configurado de otra manera, y crear una base de datos mediante la ejecución de $ psql -h localhost
y luego CREATE DATABASE your_database_name;
(del Postgres.app documentation. A continuación, ejecute el comando anterior y ya está establecido.
Siga estos 4 pasos simples en su terminal
(Heroku Dev Center):
Instalar la herramienta de copia de seguridad Heroku:
$ heroku addons:add pgbackups
empezar a utilizarlo:
$ heroku pgbackups:capture
Descargar el DB alejado de Heroku (a su máquina local) utilizando rizo:
$ curl -o latest.dump 'heroku pg:backups public-url'
carga él *:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U YOUR_USERNAME -d DATABASE_NAME latest.dump
- obtener su nombre de usuario y elija el base de datos deseada de su archivo config/database.yml.
- DATABASE_NAME puede ser su desarrollo/prueba/db producción (Ej. Mydb_development)
eso es todo!
ACTUALIZACIÓN: Se actualiza a la nueva interfaz
- 1. Rieles: de MySQL local a Heroku
- 2. Error al tirar de la base de datos mysql en la base de datos mysql local
- 3. Importar un gran archivo csv a la base de datos mysql usando php
- 4. Importar matriz de datos Excel en base de datos MySQL
- 5. Cómo importar un volcado Heroku PG en la máquina local
- 6. Manteniendo una base de datos MySQL local sincronizada con una base de datos en vivo (replicación MySQL?)
- 7. Inyección de configuración de base de datos Heroku: ¿cómo configuro mi base de datos dev django?
- 8. Cómo copiar una tabla de una base de datos mysql a otra base de datos mysql
- 9. Rieles, cómo migrar datos de la base de datos de desarrollo sqlite3 a la base de datos de producción MySQL?
- 10. Heroku - Cómo cifrar la base de datos
- 11. ¿Cómo importar una base de datos de acceso MDB a MySQL?
- 12. Evitar la base de datos sqlite3 bloqueado
- 13. ¿Sincronizar base de datos remota a local?
- 14. Importar base de datos MySQL en un servidor MS SQL
- 15. Base de datos remota de mysql en la aplicación Heroku
- 16. ¿Cómo migrar un archivo CSV a Sqlite3 (o MySQL)? - Python
- 17. archivo de base de datos Sqlite3 extensión
- 18. Python y sqlite3 - importar y exportar bases de datos
- 19. Conéctese a una base de datos heroku con pgadmin
- 20. Importar CSV a MySQL
- 21. base de datos local rápida
- 22. importar grandes CSV en la base de datos MySQL
- 23. Cómo importar una base de datos mySQL sin crear una nueva
- 24. Establecer gran base de datos en MySQL para el análisis en I
- 25. Importar XML a la base de datos SQL
- 26. ¿Cómo elimino una base de datos MySQL?
- 27. ¿Cómo uso Ruby para conectarme a una base de datos SQLite3 fuera de Rails como lenguaje de scripting?
- 28. Cómo convertir una base de datos postgres a sqlite
- 29. Migrar una base de datos de desarrollo MySQL a una base de datos de producción
- 30. ¿Cómo exportar una base de datos MySQL a JSON?
Tengo un problema- similares cómo obtener una copia de seguridad * * sin instalar PG localmente. Es posible que desee editar su pregunta para incluir esto (como lo hizo en un comentario a continuación). –