【问题标题】:Using Heroku Postgres database locally in a Rails 3 app在 Rails 3 应用程序中本地使用 Heroku Postgres 数据库
【发布时间】:2012-11-02 08:47:12
【问题描述】:
我已将现有 Heroku 应用程序中的数据库下载到我的本地计算机上。我下载的数据在一个文件中;我们称之为herokuapp.db。我还安装了 Postgres,我可以成功创建一个新的 Postgres 数据库并让我的 Rails 应用程序引用它。我想做的是将我从 Heroku 下载的数据移动到这个数据库中,或者使用下载的数据创建一个新的 Postgres 数据库。
【问题讨论】:
标签:
ruby-on-rails-3
postgresql
heroku
database-migration
【解决方案2】:
我刚刚用 Will 建议的类似技术解决了同样的问题(感谢 Will!)。
$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
$ pg_restore --verbose --clean --no-acl --no-owner -d [database_name] latest.dump
database_name 可以在 database.yml 文件的开发部分找到。
编辑
我最近使用 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