如何在 Elastic Beanstalk 上的 Rails 4 Puma 应用程序中设置 RDS_DB_NAME

Posted

技术标签:

【中文标题】如何在 Elastic Beanstalk 上的 Rails 4 Puma 应用程序中设置 RDS_DB_NAME【英文标题】:How to set up RDS_DB_NAME in Rails 4 Puma app on Elastic Beanstalk 【发布时间】:2014-10-17 12:18:46 【问题描述】:

我无法让 Puma 和 Rails 在 Elastic Beanstalk 上协同工作。

我得到的错误是

NameError: undefined local variable or method `RDS_DB_NAME' for main:Object

在我的 database.yml 中,我有:

staging:
  <<: *default
  database: <%= ENV[‘RDS_DB_NAME’] %>
  username: <%= ENV[‘RDS_USERNAME’] %>
  password: <%= ENV[‘RDS_PASSWORD’] %>
  host: <%= ENV[‘RDS_HOSTNAME’] %>
  port: <%= ENV[‘RDS_PORT’] %>

我不确定是否需要在某处定义 RDS_DB_NAME 或者它是否已存储在 eb 中?我会犯什么错误?

【问题讨论】:

您应该确保这些引号是常规引号,而不是某种有趣的弯引号。 您能否提供您正在使用的解决方案堆栈的确切名称...例如“64bit Amazon Linux 2014.03 v1.0.5 running Ruby 2.0 (Puma)”或“64bit Amazon Linux 2014.03 v1.0.0”运行 Ruby 2.1 (Puma)"? 【参考方案1】:

我遇到了同样的问题。将 &lt;%= ENV[‘RDS_DB_NAME’] %&gt; 中的时髦引号替换为所有 ENV 变量有效的常规单引号

【讨论】:

以上是关于如何在 Elastic Beanstalk 上的 Rails 4 Puma 应用程序中设置 RDS_DB_NAME的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 Elastic Beanstalk 上的 pg_dump

如何在 Windows Server 上的 Elastic Beanstalk 部署中正确使用 AWS Secrets Manager

如何在 AWS Elastic Beanstalk 上的 Nodejs 应用程序上启用大文件的上传?

如何获取命令以从 Elastic Beanstalk 上的 Dockerfile.aws.json 运行?

如何在 Elastic Beanstalk 上的 Rails 4 Puma 应用程序中设置 RDS_DB_NAME

如何从部署在 AWS Elastic beanstalk 上的 node.js express 应用程序获取客户端 IP?