0

コマンド rake db:migrate でエラーが発生する理由

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)

何が悪いんだ。カピストラーノ経由でデプロイしようとしましたが、このチュートリアルを使用してカピストラーノをセットアップしましたhttp://teachmetocode.com/screencasts/basic-deployment-with-capistrano/

4

3 に答える 3

1

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

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

于 2012-03-29T20:28:57.487 に答える
0

これは、database.yml をソース管理にチェックインしないという慣行に従っている可能性があります。その場合は、デプロイshared/configフォルダーに database.yml のコピーを作成し、それをシンボリック リンクしてリリース フォルダーに戻す 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"

それはうまくいくと思います。それが私たちのプロジェクトにステップアップする方法です。これは、次の質問に似ています。

database.yml デプロイのベスト プラクティス カピストラーノ - database.yml をデプロイできない Rails database.yml の管理方法

于 2013-03-14T19:30:48.413 に答える
0

sudoたとえば、環境がLinux上にある場合は試してみてください。たとえばrake db:migrate、移行を実行しようとしてエラーが発生しsudo rake db:migrateました。許可またはそのようなもの。

于 2015-06-17T03:39:30.660 に答える