【初期データ】本番環境(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のデータは途中でエラーになってもそれまでの情報は入ってしまう様です。初学者は気をつけないといけないなと思いました。
以上です!
この記事が気に入ったらサポートをしてみませんか?