RailsでDBのデータ変更はどこに書く? - komagataの続き。
コメント欄やFacebook、Twitterなどで色々教えていただきありがとうございます!
ちょっとFBの過去ログ見つからないんですが確か@kdmsnrさんが
「Rails Wayにseed.rbではdelete_all
しろと書いてあった」
と仰ってました。
つまり、rake db:seed
はproductionで毎回実行する。リエントラントに書くってことですな。
自分のプロジェクト(怖話)でも、今までInsertSeedMigrationみたいに書いてたのをrakeタスクとseedに移すように書きなおしてます。
どういう時に何が困ってたのかやっと自分の中でまとまってきたんですが、要は、
「最初の3人のユーザー」とか「最初の10件のPOST」とか「productionで後々増えていくデータの初期データ」をどうするのか?ってことでした。
User.delete_all
してUser.create!
をseedに書くとproductionで他のUserが消えちゃうし。seedでif Rails.env.production?
する?