当我尝试连接到mysql数据库时,我收到此错误.问题是该应用程序可以运行数周,然后我会随机收到此消息.当我收到此错误消息时,应用程序无法重新连接到数据库,直到我重新启动它.
我正在使用配置文件连接到数据库,并指定了适配器......数据库配置不会在运行时生成.
你对发生了什么有什么想法吗?
当我试图运行命令行脚本(让我们在这里说'my_script')时,发生了同样的错误.原因是:
那里只有生产环境.
我错过了为命令行设置RAILS_ENV.
所以,以下是我案例中的解决方案:
$ RAILS_ENV =生产my_script
我刚遇到这个问题,这是由我的configration.yml中的拼写引起的.
我原来有这个:
production: adapter:mysql
当我打算这样做时:
production: adapter: mysql
适配器之间的一个小空间:和mysql有所不同.
另一个可能原因:
在Rails 3.2.x中,establish_connection
从环境中设置了一个默认参数:
来自connection_specification.rb:
def self.establish_connection(spec = ENV["DATABASE_URL"]) resolver = ConnectionSpecification::Resolver.new spec, configurations spec = resolver.spec
ConnectionSpecification::Resolver
工作方式取决于ENV['DATABASE_URL']
给出一个nil
if not set.(通常,它会是这样的'postgres://...'
).
So, if you happen to have misconfigured DATABASE_URL
such that ENV['DATABASE_URL'] == ''
, that will give you database configuration does not specify adapter
.
当我错误地启动rails服务器时,我遇到了这个错误
sudo rails s -e"Production"-p 80
我应该开始使用rails
sudo rails s -e"production"-p 80