Я загрузил базу данных из существующего приложения Heroku на свой локальный компьютер. Данные, которые я скачал, находятся в одном файле; назовем его herokuapp.db
. У меня также установлен Postgres, и я могу успешно создать новую базу данных Postgres, и мое приложение Rails ссылается на нее. Что я хочу сделать, так это переместить данные, которые я скачал из Heroku, в эту базу данных или создать новую базу данных Postgres, используя загруженные данные.
Использование базы данных Heroku Postgres локально в приложении Rails 3
Ответы (2)
Используйте pg_restore --verbose --clean --no-acl --no-owner -d [database_name] [herokuapp.db]
см. https://devcenter.heroku.com/articles/export-from-heroku-postgres для получения дополнительной информации
person
Will
schedule
13.11.2012
Я только что решил ту же проблему с помощью аналогичной техники, которую предложил Уилл (спасибо, Уилл!).
$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
$ pg_restore --verbose --clean --no-acl --no-owner -d [database_name] latest.dump
Имя_базы_данных можно найти в разделе разработки файла database.yml.
EDIT
Недавно я снова выполнил эту задачу с Postgres.app, и последняя команда выше не сработала. Я получил это сообщение об ошибке:
pg_restore: connecting to database for restore
pg_restore: [archiver (db)] connection to database "[database_name]" failed: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
pg_restore: *** aborted because of error
Вот обновленная команда, которая сработала:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U $USER -d [database_name] latest.dump
person
Powers
schedule
01.01.2013