2012-03-29 5 views
0

を移行:すくいデシベル:我々は、コマンドすくいデシベル上のエラーを取得するのはなぜRAILS_ENV =開発

Rails Error: Unable to access log file. Please ensure that /home/mahaloo/mahaloo/releases/20120329200051/log/development.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed. 

rake aborted! 
unable to open database file 

Tasks: TOP => db:migrate 
(See full trace by running task with --trace) 

いただきまし間違っそこを移行します。私はcapistranoを使って展開しようとしました。私はこのチュートリアルを使ってcapistranoをセットアップしました。http://teachmetocode.com/screencasts/basic-deployment-with-capistrano/

答えて

1

ログディレクトリまたはファイルがありません。 cap展開を実行しましたか:setup?

それ以外の場合は、最初に手動でログファイルを作成します。

+0

ありがとう@Isotope私はdevelopment.logに触れ、r/w-rightsを0666に設定しましたが、レーキは常に中止されました。 – amarradi

+0

ログディレクトリへの書き込みがない場合、 'cap deploy:check'は失敗します。もちろん、 'cap deploy:setup'と' cap deploy:check'を実行して問題を修正しました。あなたはscmにないのでdatabase.ymlが見つからないかもしれません、以下の私の答えを見てください。 – tehfoo

0

これは、database.ymlをソース管理にチェックしないという習慣に従っている可能性があります。その場合は、shared/configフォルダにdatabase.ymlのコピーを作成し、リリースフォルダに戻すsymlinkへのCapistranoタスクを作成することができます。この(namespace deployで)

task :create_symlinks do 
    run "ln -nfs #{shared_path}/db/production.sqlite3 #{release_path}/db/production.sqlite3" 
    run " -nfs #{shared_path}/config/ldap.yml #{release_path}/config/ldap.yml" 
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" 
end 

のようなものは、その後、私はそれが仕事だと思う

after "deploy:finalize_update", "deploy:create_symlinks" 
after "deploy:finalize_update", "deploy:migrate" 

フックでこれを呼んで、それは我々が我々のプロジェクトにステップアップしている方法です。これは、これらの質問に似ている:あなたの的環境がLinux上で、例えば、私はrake db:migrate、移行を実行しようとすると、エラーを得たので、私が使用している場合

database.yml deployment best practice Capistrano - can't deploy my database.yml How to manage Rails database.yml

0

あなたはsudoで試してみますsudo rake db:migrateそれは、おそらくrakeがdevelopment.logと相談しようとしたときに適切なアクセス権がないなどの理由からです。

関連する問題