0

我正在调整我在某处找到的 bash 脚本,用于下载 Heroku 上的数据库内容并将它们导入到您的开发环境中。

#!/bin/bash
heroku pgbackups:capture --expire --app testivate
file_path="db_$(date +%Y_%m_%d-%H_%M_%S).dump"
curl `heroku pgbackups:url --app testivate` > $file_path
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U steven -d DATABASENAME $file_path

我的问题是,有没有可以运行的命令来查找我的开发数据库的名称?

/config/database.yml我有:

development:
  adapter: postgresql
  database: db/testivate_development
  pool: 5
  username: steven
  password: <redacted>
  host: localhost

因此,正如我的名字,我尝试了“steven”、“db/testivate_development”和“testivate_development”,但都给出了“数据库不存在”错误。

4

2 回答 2

0

我可以建议您使用 pg:transfer heroku 客户端插件。https://github.com/ddollar/heroku-pg-transfer

这让您可以:

heroku pg:transfer --from VIOLET 

在您的项目文件夹中,您有一个 .env 文件,其中包含

DATABASE_URL=postgres://127.0.0.1/development_db_name

它结束了捕获,为您恢复。VIOLET 是 Heroku 上的 DB url 的名称(来自heroku config。其余的应该是不言自明的。

于 2013-03-28T10:10:35.720 回答
0

https://devcenter.heroku.com/articles/heroku-postgresql

此页面上的文档显示了如何查找此信息。Heroku 不使用配置文件中的数据库名称,它创建自己的名称和密码,基本上是随机字符串。

于 2013-03-28T10:11:38.553 回答