naichi's lab

3日後の自分(他人)への書き置き

【Rails4】FactoryGirlをdb:seedで使う

f:id:naichilab:20160712004409p:plain

db/seeds.rbの中でFactoryGirlを使う方法をメモ

前提

RSpecFactoryGirlがインストール済みであること。

blog.naichilab.com

blog.naichilab.com

ファクトリーの定義

FactoryGirlをインストール後にModelGenerateしてれば勝手に作られてるはず。

なければそれっぽく作る。

例)Categoryモデル

spec/factories/categories.rb

FactoryGirl.define do
  factory :category do
    name "Categiry1"
  end
end

ほんとはFakerとかSequenceとか使ってかぶらないようにすると思う。 まぁ本筋じゃないし割愛。そのうちまとめる。

db/seeds.rb

require 'factory_girl'

FactoryGirl.create(:category, id: 1, name: "hoge")
FactoryGirl.create(:category, id: 2, name: "fuga")

こんな感じで使える。

seed生成

※データ消えるから注意ね。

bundle exec rake db:reset

同じ意味かな、たぶん。

bundle exec rake db:migrate:reset
bundle exec rake db:seed