#はじめに
データベースに予め大量のデータを入れておきたいとき手動では大変です。
この記事ではseedとFakerを使って、自動でランダムなサンプルデータを作成する方法を紹介します。
####seedについて
seedファイルは、データベースにあらかじめ入れておきたいデータを定義しておくものです。
データをあらかじめ定義しrails db:migrate
することで、簡単にDBへデータを投入できます。
####gem 'faker'について
Fakerとはランダムな値を入れられるgemです。
Gemfileの中にgem 'faker'を追記し、 bundle installコマンドを実行することで使用出来る様になります。
詳しくは下記の公式ページを参照してください。
【公式】
https://github.com/faker-ruby/faker
#開発環境
ruby 2.6.5
Rails 6.0.3.4
faker 2.15.1
gimei 0.5.1
#fakerインストール
gem 'faker'
gem 'gimei'
gimei
は、日本人の名前や、日本の住所をランダムに返すGemです。
bundle install
今回demosデーブルに200件のダミーデータを追加します。
require 'faker'
200.times do |n|
sample_name = Gimei.kanji
sample_kana = Gimei.katakana
sample_email = Faker::Internet.email
sample_tel = Faker::Number.number(digits: 11)
start_time = Faker::Date.forward(50)
# start_time = Faker::Date.between(from: '2021-01-01', to: '2021-04-30') #期間を限定することもできます。
Demo.create!(
sample_name: sample_name,
sample_kana: sample_kana,
sample_email: sample_email,
sample_tel: sample_tel,
sample_product_name: "京都ツアー",
price: "19600",
num_id: "2",
start_time: start_time,
sample_id: "1",
created_at: "2021-01-01 00:00:00",
updated_at: "2021-01-01 00:00:00"
)
end
rails db:seed
#まとめ
fakerの使い方さえわかれば非常に簡単です。
このデータを検索機能のサンプルにするのも良いと思います。
###最後に
同じ様に悩んでる方々の助けになればと思い、記事を投稿しております。
それでは、また次回お会いしましょう〜
#参考
【公式】
https://github.com/faker-ruby/faker