【问题标题】:ActiveRecord::AdapterNotSpecified error when trying to deploy rails application尝试部署 Rails 应用程序时出现 ActiveRecord::AdapterNotSpecified 错误
【发布时间】:2015-07-01 20:12:01
【问题描述】:

尝试使用 postgresql 数据库部署 Rails 应用程序时出现以下错误:

ActiveRecord::AdapterNotSpecified: 'production' 数据库不是 配置。可用:[]

这是我的 database.yml 文件:

development:
  adapter:  postgresql
  encoding: unicode
  host:     localhost
  pool:     20
  database: app_development

test:
  adapter:  postgresql
  encoding: unicode
  host:     localhost
  pool:     20

production:
  adapter:  postgresql
  encoding: unicode
  host:     localhost
  pool:     100
  database: app_production
  username: deploy
  password: 

有什么想法吗?

【问题讨论】:

  • 您的 database.yml 文件是否已发送至服务器? IE。它不是被 git 忽略或类似的吗?
  • 您的测试中也缺少database: 键:节
  • database.yml 是否在服务器上配置(如果它的符号链接正确链接?)
  • 我是手动部署的新手...如何在服务器上配置它?
  • 如果你通过 capistrano 部署,你可以说 config/database.yml 是一个共享文件(stackoverflow.com/questions/19071179/…)。在服务器上,您必须在 deploy-folder/shared/config/database.yml 中创建一个 database.yml 文件...

标签: ruby-on-rails ruby postgresql activerecord deployment


【解决方案1】:

确保您的database.ymlsecrets.yml 位于正确的位置,即your_app_name/shared/config/database.yml,secrets.yml 也是如此。

要检查,cd 进入远程服务器中的文件夹,ls 列出它们的内容。

你的 database.yml 应该是这样的:

    # /home/deploy/my_app_name/shared/config/database.yml
production:
  adapter: postgresql
  host: 127.0.0.1
  database: my_app_name_production
  username: deploy
  password: YOUR_POSTGRES_PASSWORD
  encoding: unicode
  pool: 5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2021-03-23
    相关资源
    最近更新 更多