如何找到开发数据库的名称? (PostgreSQL的/ Rails)的

时间:2013-03-28 10:00:19

标签: ruby-on-rails macos postgresql heroku

我正在调整一个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”,但都给出了“数据库不存在”的错误。

2 个答案:

答案 0 :(得分: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。其余的应该是自我解释的。

答案 1 :(得分:0)

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

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