シードデータとは、アプリケーションの挙動を確認するときに使う実験用のデータのことです。
Railsでは、rails db:seedコマンドを活用することでテストデータを大量に生成することが可能です。
テストデータは、できるだけ実際のものと近しいもので作ることが望ましいため、今回はシードデータを作成する際にランダムに名前やメールアドレスを作成してくれるfakerというgemを使い、実験用のデータ作成をしていきたいと思います。
fakerとは
Fakerとはランダムな値を入れられるgemです。
Gemfileの中にgem 'faker'を追記し、 bundle installコマンドを実行することで使用出来る様になります
例えば、Fakerのgemを入れた状態でa = Faker::Pokemon.nameというコードを記述すると、変数aの中にポケモンの名前がランダムで一つ入ります。
fakerで生成できるものはGitHubのREADMEに全て載っています。
神の名前からワンピースのキャラクターまでいろいろあります
シードデータ挿入
今回は、usersテーブルに100件のダミーデータを追加したいと思います。
(db/seeds.rb)
100.times do |n|
email = Faker::Internet.email
password = "password"
User.create!(email: email,
password: password,
password_confirmation: password,
)
end
ターミナルにて・・
rails db:seed
シードデータが挿入されたか確認して見ましょう。
$rails c
>User.count
=> 100
おっけい