2011-07-23 30 views
7

私は初心者のrails/terminalユーザーで、Lion + Xcode + Railsのクリーンインストールを行っただけです。以前とは異なり(Snow Leopard上で)、rake db:migrateを実行する際にエラーが発生するようになりました。rakeの問題:「開発データベースが設定されていません」

私は「CREATEDB」コマンドwithtうまく働いて、データベースを作成したのgitを通して私のコードをクローン化されたが、私が実行しようとしている:それは今、このエラーを思い付くの端末で「すくいデシベルを移行する」:

rake aborted! 
development database is not configured 

私のconfig/database.ymlファイルは、正しく動作したSnow Leopardで以前に見たような開発セクションでは以下のようになっていますので、私が現在取得しているエラーがLionに関係しているかどうかはわかりません。

development: 
adapter: postgresql 
database: my_db 
username: rasmus 
encoding: utf8 
pool: 5 

誰でも助けてください。

答えて

1

解決済み!

私の "gem install pg"は実行されていなかったので、基本的に私はpg gemが見つかりませんでした。ターミナルで "gem install pg"を実行した後、すべて正常に動作します。

18

私は同じエラーが発生しました。私のケースでは、database.ymlが正しくインデントされていなかったためです。すべての設定パラメータをインデントする必要があります。

1

GoogleのPEBCAKの回答 - Gemfileを確認して、Gemfileの適切なグループにデータベースアダプターの宝石を指定していることを確認してください。私は鉱山が:production:stagingしか定義されておらず、mysqlから切り替えた後、開発マシンで手動でgem install pgを実行していたに違いありません。今朝私はアプリのすべての宝石を空にしてからbundle install -edを実行し、データベースが接続されない理由を理解できませんでした。 pg gem仕様をグループ外に移動し、bundle installを実行すると問題が解決されました。

4

注記適切なスペーシング規則に従ってください。データベース設定は空白対応です。属性ごとに2つのスペースがうまくいきます。次のコードでは、各属性に2つのスペースがどのようにあるかを注意してください。タブを使用しないでください。属性にスペースを使用しないと、レーキは動作せず、同じエラーがスローされます。

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

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

production: 
    adapter: postgresql 
    encoding: unicode 
    database: db/production 
    pool: 5 
    timeout: 5000 
    password: 
2

また、ファイルの構文エラーを調べることもできます。これは、config/database.ymlファイルに構文エラーがあり、ローカルWebサーバーを起動するか、rake db:migrateを実行しようとすると表示されるエラーです。

私のケースでは、私は誤ってファイルの一番上にある行からコメントを削除していましたが、コメントアウトされていない行がこれを無効なymlファイルにしていたのでこのエラーが表示されました。

0

私の場合、rake db:createが失敗したときに上記のすべてを試したことは、自分のRakefileが正しく構成されていることを確認することでした。

これは仕事をした:この質問のページに着陸他人へ

require "sinatra/activerecord/rake" 
require 'sinatra/asset_pipeline/task' 

namespace :db do 
    task :load_config do 
    require "./app" 
    end 
end 
1

注:つまり、あなたは正しくすくいデシベルのコマンドを実行していることを確認してください。

rake db:migrateの代わりrake db migrate

関連する問題