Rob*_*rto 60 ruby ruby-on-rails
当我尝试连接到mysql数据库时,我收到此错误.问题是该应用程序可以运行数周,然后我会随机收到此消息.当我收到此错误消息时,应用程序无法重新连接到数据库,直到我重新启动它.
我正在使用配置文件连接到数据库,并指定了适配器......数据库配置不会在运行时生成.
你对发生了什么有什么想法吗?
小智 68
当我试图运行命令行脚本(让我们在这里说'my_script')时,发生了同样的错误.原因是:
所以,以下是我案例中的解决方案:
$ RAILS_ENV =生产my_script
dja*_*bs7 35
我刚遇到这个问题,这是由我的configration.yml中的拼写引起的.
我原来有这个:
production:
adapter:mysql
Run Code Online (Sandbox Code Playgroud)
当我打算这样做时:
production:
adapter: mysql
Run Code Online (Sandbox Code Playgroud)
适配器之间的一个小空间:和mysql有所不同.
Ben*_*kes 11
另一个可能原因:
在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
Run Code Online (Sandbox Code Playgroud)
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
请记住对 mysql 使用 C-Based ruby gem。基于 ruby 的生产不稳定。
尝试安装 gem
gem install mysql
Run Code Online (Sandbox Code Playgroud)
请记住将libmySQL.dll复制到 ruby bin 目录中。