【Rails】seedファイルとfakerについて

はじめに

 Railsで開発するときに、処理が正しく動いているか確認するためにダミーのデータをデータベースに入れることが多くあります。そのようなデータを用意する仕組みとしてRailsではseeds.rbファイルを使用します。

seedファイル

seeds.rbの場所はdb/seeds.rbにあります。 書き方としてはシンプルです。

 モデル名.create(カラム: データの値,カラム: データの値,カラム: データの値 )
User.create!(
  last_name: 'suzuki',
  first_name: 'taro',
  email: 'suzuki@example.com',
  password: 'password',
  password_confirmation: 'password'
)

このようにすれば、これらの値のダミーデータが1件作ることができます。

seedファイルにfakerを活用する

しかし、1件だけでなく数十件入れたい、またランダムな値を入れたい時は下記のような書き方ができます。

10.times do |n|
  User.create!(
              last_name: lFaker::Name.last_name,
              first_name: Faker::Name.first_name,
              email: Faker::Internet.email,
              password: 'foobar',
              password_confirmation: 'foobar'
  )
end

これは、fakerというgemを入れて実現できるものです。下記のように書くことによってダミーデータが入ります。

 Faker::Name.last_name # last_nameのダミー
 Faker::Name.first_name # first_nameのダミー
 Faker::Internet.email # emailのダミー

fakerって便利ですね。 seedファイルとfakerを組み合わせることによって、様々なバリエーションのダミーデータを作ることができます。