📘
[rails]seedについて
seed.rb について
開発段階で動作確認用に初期データを入れるために使用されるもの。
処理が正しく動いているか確認するために、DBにデータを用意しておく際に使用する。
[場所]DBフォルダの中にseed.rbがある!
=> 処理の確認で、作成中に自分で作って確認することや、
rails c
で作成して確認することは不可能ではないが、
手間がかかるし大きい処理になればなるほど、できなくもなってくる。
よって、seedを使用した初期dataの挿入がいい!!!
seedファイルの使用メリット
- 動作確認用に初期データを入れられる
- 大量に作成可能
- DBをリセットしてもseedに初期データがあるから使える
書き方
今回はadmin(管理者)を作成していきたいと思います。
adminはmailと名前でログインできるものとします。
ではまず、一人作ります。基本的な型はこれ。
(モデル名).create(データの値, , , )
上記した今回の条件で記述してみると以下のようになる。
adminUser1 = Admin.create!(
email: 'test@test.com',
password: 'chocolate-g',
)
-
create!
create!
メソッドは、DBにレコードを作成し、もし何らかの理由でレコード作成に失敗した場合には
例外を発生させ、プログラムの実行を中止するもの。
=> dbの細かい処理が必要な場合に使用
もしたくさん生産したいなら?
100人のユーザーを作りたい!
=> eachで作成
(1..100).each do |i|
User.create(name: "名前#{i}",age: "年齢#{i}")
end
でも便利なgemもある!!!
gem: faker
実際によりリアルに存在しそうなデータをランダムで生成してくれるgem。
- READMEはこちら
https://github.com/faker-ruby/faker
seedデータの投入
rake db:seed
実行!
Discussion