Fakerを使って簡単にシードデータを作成してみました
こんにちは。
Railsを勉強している初学者です。
今回は、アプリ開発の中で必要になる「ダミーデータ(シードデータ)」を、Faker という便利なGemを使って作成してみたので、忘れないようにまとめておきます。
シードデータとは?
Railsでは、開発・テスト環境で使うためのデータを簡単に用意するために シードデータ を作ることがよくあります。
コマンド一発で、あらかじめ用意しておいたデータをDBに流し込むことができると知りました。
bin/rails db:seed
Fakerとは?
Faker は、名前・住所・会社名・文章など、いろいろな「それっぽいデータ」をランダムに作り出してくれるGemです。
テストデータ作成にとても便利なのです。
事前準備(Gemのインストール)
まず、Gemfile
にFakerを追加します。
# Gemfile
gem 'faker'
追加したら、ターミナルでインストールします。
bundle install
シードデータ作成
今回は、Article
モデル(記事モデル)に、タイトルと本文をランダムに生成して入れてみました。
# db/seeds.rb
15.times do
Article.create(
title: Faker::Lorem.sentence(word_count: 6),
content: Faker::Lorem.sentence(word_count: 200)
)
end
ポイント
-
15.times do
で15件データを作成 -
Faker::Lorem.sentence
を使ってランダムな文章を作成-
word_count: 6
→ タイトル用(6単語) -
word_count: 200
→ 本文用(200単語)
-
シードデータを流し込む
ターミナルで以下を実行します
bin/rails db:seed
Articleテーブルに15件のランダムなデータが作成される
学んだこと
- 開発中はダミーデータがあるととても便利
- Fakerを使えば、簡単にリアルっぽいデータを作れます