【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を組み合わせることによって、様々なバリエーションのダミーデータを作ることができます。