Fakerで本のデータを作る。
Rake task をつくる。
必要な情報
- タイトル
- 著者名
- isbn
とりあえず、
rake db:populate
で10冊ほど本を追加できるようにする。
コード
lib/tasks/sample_data.rake
namespace :db do desc "Fill database with sample data" task populate: :environment do make_books end end def make_books 10.times do title = Faker::Name.title author = Faker::Name.name isbn = Faker::Code.isbn(base = 13) Book.create!(title: title, author: author, isbn: isbn) end end
実行
rake db:reset rake db:populate rake db:test:prepare
結果
Title | Author | Isbn |
---|---|---|
Product Identity Engineer | 木村 陸斗 | 556497212780-6 |
International Communications Analyst | 山本 杏 | 858942071178-6 |
Product Research Liason | 佐々木 陽翔 | 885705447947-2 |
Future Factors Liason | 山口 樹 | 582655254845-7 |
Human Configuration Officer | 小林 颯太 | 652393639091-4 |
Chief Accounts Developer | 加藤 太一 | 095336165425-5 |
Corporate Mobility Executive | 林 陽菜 | 931102792924-5 |
Customer Implementation Coordinator | 山田 太一 | 959671212007-1 |
District Tactics Associate | 松本 蓮 | 200536248769-6 |
Chief Mobility Officer | 吉田 颯太 | 856170961654-8 |
所感
- Fakerってロケールが日本だと日本人の名前だすのか、初めて知った。
- ファイルの拡張子を
.rake
ではなく.rb
にしてて、ずっと
rake aborted! Don't know how to build task 'db:populate'
ってエラーを出されてた。