gemパッケージのfakerを利用するとテストデータを簡単に用意できるみたいなので試してみました。
使い方
Gemfileに次のコードを追加してbundle installを実行。
gem 'faker', '~> 1.5.0'
サンプルユーザーを作成するRakeタスクを用意します。Rakeタスクはlib/tasksディレクトリに置けばいいみたいです。
lib/tasks/sample_data.rake
namespace :db do desc "Fill database with sample data" task populate: :environment do User.create!(name: "Example User", email: "example@railstutorial.jp", password: "foobar", password_confirmation: "foobar") 99.times do |n| name = Faker::Name.name email = "example-#{n+1}@railstutorial.jp" password = "password" User.create!(name: name, email: email, password: password, password_confirmation: password) end end end
sample_data.rakeを作成したらターミナルで次のコマンドを実行していきます。
$ bundle exec rake db:reset $ bundle exec rake db:populate $ bundle exec rake db:test:prepare
補足
rake db:resetを実行するとDBに登録済みのデータ削除されてしまうので残しておきたい場合は実行しないこと。
これだけでユーザの大量のテストデータを簡単に登録できました。
今回の手順の詳細はこちら。