2017年1月19日木曜日

database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)

概要

Sinatra + ActiveRecord を使っていたらタイトルのエラーが発生したので対応してみました
エラーの詳細は以下の通りです

/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0/lib/active_record/connection_adapters/connection_specification.rb:170:in `spec': database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)
        from /usr/local/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0/lib/active_record/connection_handling.rb:53:in `establish_connection'
        from app.rb:8:in `<main>'

establish_connection するところでエラーが発生しているようです

環境

  • Mac OS X 10.11.6
  • Ruby ruby 2.2.3p173
  • gem 2.4.5.1
  • activerecord 5.0.0
  • sinatra 1.4.7

対応方法

ActiveRecord::Base.establish_connection('development')

ActiveRecord::Base.establish_connection(:development)

に変更するとエラーになりませんでした
database.yml に指定している環境名を指定するところを文字列からシンボルに変換したら動作しました

昔は上の方法で動いていたので、5.0.0 では変わったということでしょうか

もし該当のエラーが発生した場合は試してみてください

0 件のコメント:

コメントを投稿