1

これが私の問題です:

  • 新しいプロジェクトを作成します:rails new myapp
    Railsアプリケーションは、デフォルトでSQLite3データベースを使用するように構成されています。

  • 実行しbundle exec rake db:createます。それが機能し、SQLite3データベースが作成されます。

  • 新しいモデル(またはデータベースに関連するその他のもの)を作成しようとすると、次のエラーが発生します。

    /home/dinduks/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:ingem block in replace_gem': Please install the postgresql adapter:install activerecord-postgresql-adapter`(pgは一部ではありませんバンドルの。Gemfileに追加します。)(LoadError)

  • コントローラーとアクションを追加してアクセスしようとすると、次のエラーが発生します。

    ActiveRecord :: ConnectionNotEstablished(ActiveRecord :: ConnectionNotEstablished)

    完全なスタックトレースはここにあります:https
    ://gist.github.com/2717365WEBrickサーバーは文句なしに明らかに起動します。

Railsを再インストールし、Rubyを再インストールし、別のRubyバージョンを使用し、RVMを再インストールしました...そして同じエラーが発生し続けます。

私のコードには、 PostgreSQLpostgrespgpqlに関連するものは何もありません。一言ではありません。

私は例外が示唆することをしたくありません。このエラーが発生する理由を理解して修正したいと思います。

だから:なぜ私がPostgresを使用していないのにRailsがPostgresのものをインストールするように私に頼むのですか?

ありがとう!

4

1 に答える 1

7

問題はDATABASE_URL環境変数でした。
ActiveRecordがを見つける$DATABASE_URLと、その情報を自動的に使用し、config/database.ymlを無視します。

これを指摘してくれたNARKOZに感謝します。

(ちなみに、フォアマンを見つける前にこの環境変数を設定しました。これは環境変数を管理するための優れたツールです)

于 2012-05-17T15:35:57.800 に答える