ruby-on-rails - 运行 rake db 时出错 :create in Docker

标签 ruby-on-rails ruby postgresql docker

我是 Docker 的新手,然后按照他们的官方教程运行 Ruby on Rails 和 Postgresql。当我运行 docker-compose up 时一切正常,但是当我尝试命令 docker-compose run web rake db:create 时,我收到了 FATAL 错误:角色“root”不存在

database.yml

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 5
  host: db

development:
  <<: *default
  database: myapp_development

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  database: myapp_production
  username: postgres
  password:

最佳答案

您正在以 root 身份运行该命令,它正在尝试使用相同的用户名连接到数据库。您尚未在 PostgreSQL 中创建用户 root,因此您必须这样做。

我建议创建另一个用户名并使用它进行连接,即使名称 root 在 PostgreSQL 中没有特殊含义,但通常最好为每个系统设置单独的用户/角色。

您需要修改数据库连接设置以反射(reflect)新用户名。

关于ruby-on-rails - 运行 rake db 时出错 :create in Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669274/

相关文章:

ruby-on-rails - Autoprefixer 不支持 Node v4.8.2。更新它

sql - 选择第二个最新日期的条目

mysql - GROUP BY 仅主键,但选择其他值

ruby-on-rails - Rails NoMethodError : undefined method `includes' for #<User:0x007f62dbbe62f8>

html - Ruby on Rails/HTML - 内联表单 :checked => false is not working

ruby-on-rails - Rails 'service objects' 最佳实践 - 类方法或实例化

php - 拉维尔 5 + PostgreSQL : "Database [postgres] not configured." Error

iphone - 如何让 Apple 的 @2x 视网膜图像命名约定适用于具有 Rails 后端的应用程序?

基于 Rails 变量的 Javascript 条件

Ruby MongoDB-如何根据日期时间对记录进行排序?