Come per titolo ho bisogno di importare, ma i backup PG mi sta dando un rigido Postgres SQL che non funziona con MySQL, anche con una codifica non specificata che immagino sia UTF-16. Usando db: pull impiega anni ed errori prima di finire. Apprezzerei qualsiasi suggerimento. Grazie.Come importare un grande database da Heroku a mysql locale o sqlite3?
risposta
Impostare PostgreSQL localmente, utilizzare PG backups per copiare i dati da Heroku sul computer locale, quindi pg_restore
per importarlo nel nuovo PostgreSQL locale. Quindi è possibile copiarlo da PostgreSQL a MySQL o SQLite localmente senza doversi preoccupare dei timeout. Oppure, dal momento che avresti una installazione PostgreSQL funzionale dopo, basta iniziare a sviluppare su PostgreSQL in modo che lo stack di sviluppo corrisponda meglio allo stack di distribuzione; sviluppare e distribuire sullo stesso database è una buona idea.
Probabilmente stai scaricando dump binari (ad esempio pg_dump -Fc
) da Heroku, che spiegherebbe perché il dump sembra una sorta di assurdità UTF-16.
È possibile utilizzare i pgbackups addon per esportare il dump del database
$ heroku addons:add pgbackups # To install the addon
$ curl -o latest.dump `heroku pgbackups:url` # To download a dump
Ciao, grazie, ma installare PG per lo sviluppo è quello che volevo evitare. Può essere utile avere lo stesso DB in dev, ma per la maggior parte dei progetti, non vale la pena, rimango con SQLite3. – aledalgrande
Alla fine ho terminato l'installazione di PG (o è possibile utilizzare quello fornito con Lion). Il processo è stato: * creare un utente PG * ripristinare il dump con pg_restore * installare i ** pg ** e ** rubinetti ** gemme * avviare il server taps su postgres: 'taps server postgres: // root @ localhost/rcp_dev tapsuser tapspassword' * estrai i dati in sqlite3 (lo stesso per mysql): 'taps pull sqlite: //db/development.sqlite3 http: // tapsuser: tapspassword @ localhost: 5000' – aledalgrande
@aledalgrande: Sviluppare su PostgreSQL ne vale assolutamente la pena se si sta distribuendo su Heroku. Tutti i database presentano differenze sottili e non sottili (GROUP BY, distinzione tra maiuscole e minuscole, booleani, disponibilità delle funzioni, tipi di dati, requisiti di trasmissione, troncamento o aumento di un'eccezione, ...) e nessun ORM può proteggerti da tutti. Salvati un po 'di dolore, sviluppa e distribuisci sullo stesso stack. –
Heroku ha le istruzioni su come fare questo: https://devcenter.heroku.com/articles/heroku-postgres-import-export#restore-to-local-database, che si riducono a:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
dove myuser
è la corrente utente e mydb
è il database corrente.
Se si utilizza Postgres.app, è piuttosto banale copiare il database di produzione localmente. È possibile lasciare fuori -U myuser
a meno che non si è configurato in caso contrario, e creare un database eseguendo $ psql -h localhost
e poi CREATE DATABASE your_database_name;
(dal Postgres.app documentation. Quindi eseguire il comando sopra e siete a posto.
Seguire questi 4 semplici passi nel terminale
(Heroku Dev Center):
Installare lo strumento di backup Heroku:
$ heroku addons:add pgbackups
iniziare ad usarlo:
$ heroku pgbackups:capture
Scarica il db remoto su Heroku (sulla macchina locale) utilizzando ricciolo:
$ curl -o latest.dump 'heroku pg:backups public-url'
Load it *:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U YOUR_USERNAME -d DATABASE_NAME latest.dump
- ottenere il vostro nome utente e scegliere il database desiderato dal tuo file config/database.yml.
- DATABASE_NAME può essere il vostro sviluppo/test/produzione db (Es. Mydb_development)
Questo è tutto!
UPDATE: E 'aggiornato alla nuova interfaccia
- 1. Rails: Da MySQL locale a Heroku
- 2. Come estrarre il database mysql da heroku alla macchina locale
- 3. importare sqlite3 con Python2.7 su Heroku
- 4. Come distribuire il database MySQL locale su Heroku
- 5. Come importare dati da file di testo al database mysql
- 6. Come importare/esportare database da PouchDB
- 7. Come importare un database di Access MDB in MySQL?
- 8. Impossibile inviare a heroku - sqlite3.h manca
- 9. Come migrare un file CSV su Sqlite3 (o MySQL)? - Python
- 10. Come posso importare dati nel database mysql tramite mysql workbench?
- 11. Come importare più file CSV in un database MySQL
- 12. Come importare il database esistente in homestead?
- 13. Sync grande DB locale con DB server (MySQL)
- 14. SQLITE3 VUOTO "database o disco è pieno"
- 15. Aggiornamento tabella MySQL da un file locale
- 16. Errore durante il richiamo del database mysql nel database mysql locale
- 17. Connessione al database su Heroku
- 18. Evitare di database sqlite3 bloccato
- 19. Connessione remota a clearDB database heroku
- 20. Heroku - Come crittografare il database
- 21. Come connettersi al database di Heroku postgres da una connessione locale in php
- 22. Come connettersi a un database MySQL da Clojure?
- 23. Heroku MySQL Auto Increment
- 24. mysql dump a localhost outfile da un database remoto
- 25. Come impostare il database per l'app Django su Heroku?
- 26. Come rimuovere il database postgres da heroku
- 27. Come posso importare un file .sql nel mio database Heroku postgres?
- 28. Come importare un file .sql o .csv in SQLite?
- 29. Come importare il database Access 2010 (.accdb) in MySQL
- 30. Come importare i dati XBRL in MySQL?
Ho un problema- simile come ottenere una copia di backup * senza * l'installazione di PG a livello locale. Potresti voler modificare la tua domanda per includerla (come hai fatto in un commento qui sotto). –