初期データを入れる
今回は、現場Railsや他の記事を参考に「seed」データを作成していく
似たようなものに「seed-fu」? となるものがあるらしいが
これは、また次回
##動作環境
Rails 5.1.6
ruby 2.5.1p57
##seedデータとは
アプリケーションでは、使いはじめる時点で初期データを必要とする
テストデータは手動でも作ることができるが、思いの外面倒なので
ある程度一括で作成したい
そこで、初期データ・テスト用データはseedデータ
と呼ばれる
DBを作り直す都度、簡単にデータを作成することができる
##メリット
seedでは、一度ソースコードを書いてしまえば
コマンドを実行するだけでデータを投入することができる
つまり、都度データを作成する手間や、おこりうる間違いを減らすことができる
##実際にデータを流しこんでみる
User.create!(
name: 'test',
email: 'test@mail.com',
password: 'password',
password_digest: 'password'
)
コマンド 実行
rails db:seed
これで、簡単にテストデータが作成できた
今回は、1人だけだからメリットはあまり感じにくかったが
10、100人単位になってくると恩恵を感じてくるだろう
##小技
ループを使って、データを作成する
100.times do |i|
User.create!(
name: 'test#{i}',
email: 'test#{i}@mail.com',
password: 'password#{i}',
password_digest: 'password#i}'
)
end
##参考記事、書籍
現場Rails
https://qiita.com/takehanKosuke/items/79a66751fe95010ea5ee