LoginSignup
13
19

seeds.rbとfakerを利用したデータ生成

Last updated at Posted at 2017-11-19

 シードデータとは、アプリケーションの挙動を確認するときに使う実験用のデータのことです。
 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

おっけい

13
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
19