gpt4 book ai didi

mysql - Rails 和 MySQL - ActiveRecord::ConnectionNotEstablished 在生产环境中

转载 作者:行者123 更新时间:2023-12-01 00:28:49 25 4
gpt4 key购买 nike

我会尽量简短:
使用 Rails 3.2.1mysql2 作为数据库;在 Ubuntu 11.10 上运行
开发环境中一切正常
当我在 production 中启动我的服务器 (WEBrick) 时,它启动正常,但在加载任何页面后,它会引发以下错误:

ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished):
activerecord (3.2.1)
lib/active_record/connection_adapters/abstract/connection_pool.rb:374:in
retrieve_connection'
activerecord (3.2.1)
lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in
`retrieve_connection'
activerecord (3.2.1)
lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in
`connection'
...
/home/metjush/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:138:in
`service'
/home/metjush/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/home/metjush/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/server.rb:191:in `block
in start_thread'

在尝试找到任何可能的错误来源并查阅了十亿个不同的网站和类似的报告之后,我仍然无法找到问题所在。我的 database.yml(现在在本地主机上运行,​​并且我在生产环境中的设置与开发环境中的设置相同,有效)很好,我的 Gemfile 没问题(gem包含“mysql2”,别担心),生产数据库已创建,并且 rake db:migrate 迁移它没有问题...我没有想到或没有在互联网上找到的任何其他可能的错误来源?

我强调,这只发生在生产环境中

谢谢你的帮助


编辑 发布我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.1'

gem 'mysql2'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

gem 'bcrypt-ruby', :require => 'bcrypt'
gem 'rufus-scheduler'
gem 'gmaps4rails'

希望这会有所帮助 - 尽管我真的没有发现任何问题。

编辑二
奇怪的是,当我在生产环境中启动 rails 控制台时,我没有遇到任何问题——MySQL 查询有效,模型实例可以毫无问题地保存。当我尝试从浏览器访问数据库时,我只会遇到上述错误。

最佳答案

对我来说,它归结为配置错误的 database.yml 文件。要确认格式正确,您可以从存储 .yml 文件的目录执行以下操作:

irb 
require 'yaml'
a = YAML::load(File.open("database.yml"))

如果您有错误,您会看到类似这样的响应...

irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> a = YAML::load(File.open("database.yml"))
Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 17 column 3
from C:/Ruby193/lib/ruby/1.9.1/psych.rb:203:in `parse'
from C:/Ruby193/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
from C:/Ruby193/lib/ruby/1.9.1/psych.rb:151:in `parse'
from C:/Ruby193/lib/ruby/1.9.1/psych.rb:127:in `load'
from (irb):2
from C:/Ruby193/bin/irb:12:in `<main>'

在我的例子中,我忘记在输入数据库密码时在“:”后面留一个空格。

关于mysql - Rails 和 MySQL - ActiveRecord::ConnectionNotEstablished 在生产环境中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com