この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
おひさしぶりです。
初心者カツオです。
以前業務でとあるサイトの本番反映をしていたときに
ものすごい初歩的なのですがrailsの実行モードで
ひっかかったことがあります。
業務で本番サーバーにアップした後
maigrationしようとおもったけど
なぜかテーブルできない
[kbmj@cms tset]$ rake db:migrate(in /var/cms/test)
Rails Error: Unable to access log file. Please ensure that /var/cms/test/config/../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.
chmodとか書いてあるし
あぁ権限がないのかな?
と思ってsudoをつけてもなぜかテーブルがつくれない
[kbmj@cms1 test]$ sudo rake db:migrate(in /var/cms/test)rake aborted!
No such file or directory - /tmp/mysql.sock
タイム連打も試してみたけど
ファミコンじゃないし意味がない(嘘)
で、ひとしきり焦った後
なんのことはなかったのが
railsではアプリケーションを動かすときに実行モードを指定するんだ。
ということなわけですね。
[kbmj@cms1 test]$ sudo rake db:migrate RAILS_ENV=production
(in /var/cms/test)== AddRecordToTestPages: migrating =======================================
== AddRecordToTestPages: migrated (0.0480s) ==============================
本番環境はたいていproductionモードで実行しているはずなのですが
実行モードのデフォルトは”development”モードなので
RAILS_ENV=production
ってな具合に指定してあげなければいけないのですねー
いやはや日々精進しなければ。