Railsアプリケーションの作り始めってローカルのデータベースにデータが全然なくて何かと作りづらいってことありませんか?データがないとページネーション書けないし、なんか雰囲気出ないし、、、みたいな。
Railsの場合はseed.rbにデータ生成プログラムを書いておいて、rake db:seed
でデータベースを作れます。そのときにダミーデータ生成gemを使うと幸せになれます。
調べたらけっこうたくさんありました。
このうち、実質的に使えるのは上の2つかなと思います。3番めのfakerはリファクタリングされて高速化したffakerがあれば要らないし、下の2つは古いし用途が微妙に違う…?という感じだったので。
使い方はどちらもシンプルです。Railsに依存しないので単なるRubyスクリプトでも使えます。
ffaker
ドキュメントはfakerのほうが優れているのでそちらを参考にするといいでしょう。
- Faker::Name.name
- Faker::Address.city
- Faker::Internet.email
などなど、カテゴリごとにいろいろ用意されています。あとは、繰り返し呼び出すだけで異なる結果が返ってくるので何も考えなくていいのがいいですね。
# seeds.rb
10.times do
Post.create(title: Faker::Lorem.sentence(5), author: Faker::Name.name)
end
forgery
こちらも似たようなインターフェースが提供されています。
# seeds.rb
10.times do
Post.create(title: Forgery::LoremIpsum.sentence, author: Forgery::Name.full_name)
end
どっちでもよさそう
こういう類のgemは本番で使うことはあまりないと思うので適当に選べばよさそう。
日本語データを生成したい場合はこういうのもあります。