如何将数据从heroku上的数据库复制到本地数据库

时间:2014-05-30 19:05:45

标签: ruby-on-rails ruby heroku

我有一个Ruby on Rails应用程序,我想从Heroku服务器获取数据到本地机器。

我已经尝试了上面提到的步骤 https://devcenter.heroku.com/articles/heroku-postgres-import-export,但它只是复制数据定义而不是服务器上的实际数据。

有没有办法从Heroku获取数据到本地数据库?

1 个答案:

答案 0 :(得分:0)

尝试使用详细步骤here

基本上,使用heroku config:get从Heroku数据库中获取信息。寻找你的Heroku Postgres网址。它看起来像这样:HEROKU_POSTGRESQL_RED_URL: postgres://user3123:passkja83kd8@ec2-117-21-174-214.compute-1.amazonaws.com:6212/db982398。请注意,该字符串配置为database://username:password@host:port/databasename。因此,在此示例中,usernameuser3123database namedb982398。你需要这个用于下一部分。

然后,您将使用上述postgres字符串中的信息使用pg_dump制作Heroku数据库的本地副本。在终端中输入以下内容:

pg_dump --host=<host_name> --port=<port> --username=<username> --password --dbname=<dbname> > output.sql

在上述代码中<....>所在的每个位置,输入您的具体信息。输入后,终端会询问您的密码。输入它。

最后,您将使用psql将该转储文件加载到本地数据库中。

psql -d <local_database_name> -f output.sql

请务必输入本地数据库的名称。