3

私は私の仕様を与えることによって前置きします:

  • RVM 1.12.1
  • Rails 3.2.3
  • Ruby 1.9.3p125(2012-02-16リビジョン34643)[x86_64-darwin12.0.0]
  • RubyGem 1.8.21
  • OSX10.8マウンテンライオン
  • KennethReitzのOSX10.7以降バージョン2用のGCCインストーラー(X11ヘッダー、バグ修正を含む)

私のGemfileは次のとおりです。

source 'https://rubygems.org'
gem 'rails', '3.2.3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'


# 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'

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes
    # gem 'therubyracer', :platform => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

そして私のdatabase.ymlは:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

サーバーを起動してデフォルトのホームページに移動し、[環境の表示]ボタンをクリックすると、「ActiveRecord::ConnectionNotEstablished」エラーが発生します。

コンソールを確認すると、次のように表示されます。

/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError)
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activerecord-3.2.3/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'

私がSQLiteを使用していて、どこにもMySQLへの参照がないという事実にもかかわらず。これは、10.8を使用した場合の副作用である可能性がありますか?困った!

4

1 に答える 1

0

数ヶ月前、私はJavaとPlayを使用したプロジェクトに取り組んでいました!フレームワークであり、DATABASE_URLという環境変数を使用して、開発と本番環境でデータベース構成を簡単に管理しました。私の場合、変数はに設定されましたmysql://root@localhost:3306/database_name

結局のところrails 3.2、DATABASE_URLという環境変数からもデータベース構成を取得しようとします。

Rails3.2ブランチのコードは次のとおりです。

https://github.com/rails/rails/blob/3-2-stable/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb#L91-135

レール3.1ブランチでの同じ方法:

https://github.com/rails/rails/blob/3-1-stable/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb#L23-82

したがって、環境変数を削除したところ、すべてが再び正常になりました。

于 2012-04-11T14:57:21.923 に答える