ruby-on-rails - Heroku 推送错误

标签 ruby-on-rails database postgresql heroku push

下午好

我浏览了关于这个主题的其他问题,似乎没有人问过这个问题。我期待的不是这样!

无论如何 - 我有一个 PostgreSQL 数据库服务器在我的本地机器上运行,带有 MYAPP_DEVELOPMENT 数据库。我试过做一个

heroku db:push

但是一直报错:

Failed to connect to database:
Sequel::DatabaseConnectionError -> PGError: FATAL:  role "brandon" does not exist

这显然与本地/heroku 共享数据库上的权限和用户有关,但老实说,我对这类东西不是很擅长。任何帮助,将不胜感激。我目前在 Heroku 的 slug 中包含“database.yml”文件,它包含我本地数据库的所有登录名/密码信息……因此我没有预料到这种错误。

谢谢!

** 编辑 ** 这是我的 database.yml 文件的内容(为清楚起见进行了编辑):

common: &common
  adapter: postgresql
  encoding: unicode
  username: user
  password: secret

test:
  <<: *common
  database: myapp_test

development:
  <<: *common
  database: myapp_development

production:
  <<: *common
  database: myapp_production

我认为它一定是 Heroku 设置方面的问题。请注意,在我的 database.yaml 文件中没有任何地方出现“brandon”。我不太确定它是从哪里拉出来的。我的数据库用户名不是那个(虽然那是我的名字哈哈)

最佳答案

此错误通常表示 username尚未在您的 database.yml 中的适当环境下指定文件。

你的 database.yml文件应类似于以下内容(我在本地使用 MySQL,因此使用 adaptersocket 参数):

common: &common
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  username: <your_username>
  password: <your_password>
  socket: /tmp/mysql.sock

development:
  <<: *common
  database: appname_dev

test:
  ...

staging:
  ...

production:
  <<: *common
  database: appname_prod

如果这不能解决您的问题,请检查以确保 Heroku 在正确的环境中运行:

  • heroku config --app <appname>
  • 确保RACK_ENV设置为 production
  • 如果不是:heroku config:add RACK_ENV=production --app <appname>

(如果您粘贴 database.yml 文件的内容会很有帮助。)

关于ruby-on-rails - Heroku 推送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048990/

相关文章:

php - 如何在不访问 Laravel (PHP) 中的 Web 的情况下更新表格?

database - map : Does calculating distance between 2 points factor in altitude?

sql - 忽略空格的查询

mysql - rails : how do I test a helper method that executes a mysql query

ruby-on-rails - Ruby FileUtils.mkpath 在不同环境下的行为不同

css - Rails 4 + Less 的图像 url 不包括哈希

ruby-on-rails - Rails RoutingError(未初始化常量

performance - EC2/EBS 上的 PostgreSQL 性能

postgresql - 选择主键 :Why postgres prefers to do sequential scan vs index scan

postgresql - 露天 Javamelody