将 Rails 模式转储为 SQL 时,用户“root”的密码身份验证失败

slhck

我使用 Rails 5.2.3 和 PostGIS 2.5 在 Postgres 11 上运行,在 Docker Compose 环境中设置。我已经设置了以下内容config/application.rb

config.active_record.schema_format = :sql

这样就可以丢弃 Schema 中的特殊功能。但是,在 期间这样做db:migrate,我收到以下错误:

pg_dump: [archiver (db)] 与数据库“development”的连接失败:致命:用户“root”的密码验证失败

执行的命令是:

pg_dump -s -x -O -f /var/www/dev/db/structure.sql -T geography_columns -T geometry_columns -T layer -T raster_columns -T raster_overviews -T spatial_ref_sys -T topology development

报错的原因是这里没有root用户;事实上,我在我的数据库配置中使用了不同的用户名:

default: &default
  adapter: postgis
  encoding: unicode
  host: <%= ENV['DATABASE_HOST'] %>
  user: <%= ENV['DATABASE_USER'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("DATABASE_POOL") { 10 } %>

用户不是 root,Rails 应用程序本身一切正常,它可以使用环境变量中指定的用户连接到数据库。

看起来pg_dump,当从 Rails 调用以转储模式时,没有使用配置中的正确用户名,而是回退到root.

在源代码中看到一些配置环境变量,但是我应该如何设置它们,为什么 Rails 默认不这样做?

我认为当我在我的docker-compose.yml文件中创建一个PGUSERDATABASE_USER. 但这似乎是一种解决方法 - 这是我看到的错误还是一些预期的行为?

slhck

到目前为止,我找到的唯一解决方案是PGUSER为 Rails 容器指定一个额外的环境变量

我认为这是一个错误或没有正确记录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试从活动的Rails服务器执行PG转储并获得密码身份验证失败

来自分类Dev

Ruby on Rails:将未经身份验证的用户重定向到root而不是登录页面

来自分类Dev

Oracle将转储文件导入到另一个用户(模式)

来自分类常见问题

从SQL转储还原数据库时启用二进制模式

来自分类Dev

Ruby on Rails:用户名/密码错误?(535身份验证失败)

来自分类Dev

生产中的 Rails 5:PG::ConnectionBad:致命:用户“postgres”与 Docker 的密码身份验证失败

来自分类Dev

尝试为Struct创建内存时将分段错误核心转储到C中

来自分类Dev

如何将密码存储为散列,然后在甚至不知道明文密码的情况下对用户进行身份验证?

来自分类Dev

Rails Devise将经过身份验证的用户重定向到特定路径

来自分类Dev

将SQL转储还原到RDS的最快方法

来自分类Dev

无法将大型SQL转储导入MySQL 5.6

来自分类Dev

将SQL查询转储到Laravel中的屏幕

来自分类Dev

将SQL转储还原到RDS的最快方法

来自分类Dev

将SQL转储转换为JSON吗?

来自分类Dev

将数据写入 SQL 并将其转储到 Excel

来自分类Dev

严重:用户“ rails”的对等身份验证失败

来自分类Dev

Rails中的Authorize.net-由于无效的身份验证值,用户身份验证失败

来自分类Dev

当图像来自 Pillow 时,尝试将 Qpixmap 设置为 Qlabel 时出现“分段错误(核心转储)”

来自分类Dev

SQL 将行转置为列

来自分类Dev

如何将AzureAD用户添加到SQL Server以进行Windows身份验证

来自分类Dev

如何将变量转储为MATLAB源代码?

来自分类Dev

使用Golang将MySQL表转储为JSON

来自分类Dev

将python对象转储为yaml文件

来自分类Dev

将转储文件(如xml文件)解析为数组

来自分类Dev

使用php将POST数据转储为XML

来自分类Dev

使用Spring将重定向设置为自定义身份验证失败处理程序

来自分类Dev

Rails Capistrano身份验证失败错误

来自分类Dev

Rails Capistrano身份验证失败错误

来自分类Dev

BCrypt身份验证始终失败RAILS

Related 相关文章

  1. 1

    尝试从活动的Rails服务器执行PG转储并获得密码身份验证失败

  2. 2

    Ruby on Rails:将未经身份验证的用户重定向到root而不是登录页面

  3. 3

    Oracle将转储文件导入到另一个用户(模式)

  4. 4

    从SQL转储还原数据库时启用二进制模式

  5. 5

    Ruby on Rails:用户名/密码错误?(535身份验证失败)

  6. 6

    生产中的 Rails 5:PG::ConnectionBad:致命:用户“postgres”与 Docker 的密码身份验证失败

  7. 7

    尝试为Struct创建内存时将分段错误核心转储到C中

  8. 8

    如何将密码存储为散列,然后在甚至不知道明文密码的情况下对用户进行身份验证?

  9. 9

    Rails Devise将经过身份验证的用户重定向到特定路径

  10. 10

    将SQL转储还原到RDS的最快方法

  11. 11

    无法将大型SQL转储导入MySQL 5.6

  12. 12

    将SQL查询转储到Laravel中的屏幕

  13. 13

    将SQL转储还原到RDS的最快方法

  14. 14

    将SQL转储转换为JSON吗?

  15. 15

    将数据写入 SQL 并将其转储到 Excel

  16. 16

    严重:用户“ rails”的对等身份验证失败

  17. 17

    Rails中的Authorize.net-由于无效的身份验证值,用户身份验证失败

  18. 18

    当图像来自 Pillow 时,尝试将 Qpixmap 设置为 Qlabel 时出现“分段错误(核心转储)”

  19. 19

    SQL 将行转置为列

  20. 20

    如何将AzureAD用户添加到SQL Server以进行Windows身份验证

  21. 21

    如何将变量转储为MATLAB源代码?

  22. 22

    使用Golang将MySQL表转储为JSON

  23. 23

    将python对象转储为yaml文件

  24. 24

    将转储文件(如xml文件)解析为数组

  25. 25

    使用php将POST数据转储为XML

  26. 26

    使用Spring将重定向设置为自定义身份验证失败处理程序

  27. 27

    Rails Capistrano身份验证失败错误

  28. 28

    Rails Capistrano身份验证失败错误

  29. 29

    BCrypt身份验证始终失败RAILS

热门标签

归档