【问题标题】:Rails: error: database configuration does not specify adapterRails:错误:数据库配置未指定适配器
【发布时间】:2012-05-16 21:14:32
【问题描述】:

我正在开发的 Rails 应用程序在我的本地计算机 (MAC) 上运行良好。当我将它上传到服务器(Centos 6.2 Linux,安装了 Rails 3.2.3 和 Passenger)并尝试启动应用程序(通过在我的浏览器中输入 URL)时,我收到以下错误消息:

Ruby (Rack) 应用程序无法启动似乎有一个 数据库问题。

您的应用程序的数据库配置文件可能会被写入 不正确。请检查并修复任何错误。

数据库服务器可能没有运行。请检查是否 正在运行,如果没有,则启动它。

错误信息: 数据库配置未指定适配器 (ActiveRecord::AdapterNotSpecified) 异常类: ActiveRecord::AdapterNotSpecified

请注意,当我运行 rake db:createrake db:migrate 时,这两个任务都运行良好,并且数据库已正确创建和迁移。

以下是我的 database.yml 文件:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: acme_development
  pool: 5
  username: root
  password: ***********
  socket: /tmp/mysql.sock

test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: acme_test
  pool: 5
  username: root
  password: *****************
  socket: /tmp/mysql.sock

有什么想法吗?

【问题讨论】:

  • 生产配置在哪里?
  • 我取消了生产。乘客是否承担生产?我认为 dev 是默认值,除非我另有说明。
  • 我想是的。但我从来没有用过Passenger。指定您的生产数据库并执行rake db:setup RAILS_ENV=production,然后查看它是否有效。
  • 我想我正在取得进步。我将生产恢复到 database.yml,然后运行 ​​rake db:setup RAILS_ENV=produciton。数据库生产创建正常,但是当我尝试运行该应用程序时,我收到以下消息:我们很抱歉,但出了点问题。
  • 返回太快...我检查了 production.log,它是空的。 development.log 文件最近没有任何活动。

标签: mysql ruby-on-rails passenger


【解决方案1】:

Phusion Passenger 默认使用“生产”环境,as documented。看起来你假设“发展”。在这种情况下,设置“RackEnv 开发”。

【讨论】:

  • 好点。请注意,我们还注意到,当从本地编辑器将 database.yml 复制并粘贴到终端时,有时空格/制表符无法正确转换,因此也要确保您的 YAML 文件结构正确(如在本地机器)。
猜你喜欢
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
相关资源
最近更新 更多