Использование базы данных Heroku Postgres локально в приложении Rails 3

Я загрузил базу данных из существующего приложения Heroku на свой локальный компьютер. Данные, которые я скачал, находятся в одном файле; назовем его herokuapp.db. У меня также установлен Postgres, и я могу успешно создать новую базу данных Postgres, и мое приложение Rails ссылается на нее. Что я хочу сделать, так это переместить данные, которые я скачал из Heroku, в эту базу данных или создать новую базу данных Postgres, используя загруженные данные.


person wuliwong    schedule 13.11.2012    source источник


Ответы (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