【初期データ】本番環境(Ec2上)で実行したがデータが入らない。対処方法

初期データが膨大なので、本番環境でrake db:seedを使ったデータ投入を行いました。しかし、データが入らず、解決に時間がかかりました。

よくある間違いはEc2上で

$ rake db:seed 

上記のコマンドを入力してもデータが入らない、、、
アプリ名/current まで移動して実行すればデータ投入ができました。

アプリのディレクトリから

cd current

でcurrentまで移動し、下記のコードを入力。


rake db:seed RAILS_ENV=production

これでデータが入るはずです。

しかし、今回はこれだけでは反応しませんでした。

上記のコードを入力しても、途中でエラーが出ていました。
当然、データも入っておらず、 bundle execを前に付けてみると通りました。もう一度Ec2のカレントディレクトリから、下記のコードを入力。

 bundle exec rake db:seed RAILS_ENV=production

これでデータが入力されました。

しかし、今回は更にエラーが出ていました。

何度もseedデータを入力していたので、データベースがゴチャゴチャに、、、SQLをリセットして、もう一度やり直すと綺麗にデータを入れる事ができました。seedのデータは途中でエラーになってもそれまでの情報は入ってしまう様です。初学者は気をつけないといけないなと思いました。

以上です!




この記事が気に入ったらサポートをしてみませんか?