本番環境でrake db:seedを実行する際の注意点
こんにちは、ぐっちと申します。
以前9月頃の記事でSEEDファイルについて書きましたが、そのSEEDファイルを本番環境で実行し、データを登録しようとした際に手間取ったので、その事について書きたいと思います。
問題点
以前の記事で
$ rake db:seed: category
コマンドでdb/seeds
にあるcategory.rb
を実行できる様にしました。
しかしいざ本番環境(EC2)で実行したところ、データが登録されていない……
スペルミス等を疑い何度も試しましたが、結果は同じでした。
やり方が間違っているのかと思い調べてみると、すぐに解決策が見つかりました。
解決方法
結論から言うと、環境の指定が必要です。
本番環境では
$ rake db:seed: category RAILS_ENV=production
とコマンドを打つ必要があります。
しかし、それでもデータが登録されない……
さらに調べると、コマンドを打つディレクトリが関係しており、
/var/www/アプリ名
でコマンドを打つのではなく、
/var/www/アプリ名/current
まで移動して実行すればデータ投入ができました。
これまでも何度か開発と本番環境の違いで思う様に行かない事がありました。
こういった事は、記事等に残し同じ事で悩まない様にしていきたいです。
ここまで読んでくださり、ありがとうございました。
ツイッターで日々の学習をつぶやいています