使用样本(假)数据填充数据库

时间:2012-07-28 12:53:26

标签: ruby-on-rails-3 populate

使用示例数据填充开发数据库的最佳方法是什么?

FactoryGirl似乎对测试有用,但不适合开发。 Populator未更新为Rails 3。

我应该在佣金任务中使用像Faker或Forgery这样的东西吗?

3 个答案:

答案 0 :(得分:5)

我在rake任务中使用ffaker和populator gems在Rails 3项目中创建虚假数据。这是一个例子:

desc 'Create some fake tickets'
  task :tickets => :environment do
  Ticket.populate NUM_TICKETS do |t|
    t.title = Faker::Lorem.sentence(word_count=15)
    t.details = Faker::HipsterIpsum.paragraphs(sentence_count=3)
    t.group_id = rand(6)+1 # random group_id [1..6]
    t.status_id = 1
    t.priority_id = rand(3)+1 # random priority_id [1..3]
    t.contact_id = rand(NUM_CONTACTS)+1 # random contact_id [1..NUM_CONTACTS]
    t.creator_id = rand(6)+2 # random created_by [2..7]
    t.created_at = CREATION_PERIOD.sample
  end
end

这里的完全佣金任务: https://github.com/leesmith/ticket_mule/blob/edge/lib/tasks/faker.rake

答案 1 :(得分:2)

这看起来很有希望: https://github.com/paulelliott/fabrication

答案 2 :(得分:-1)

在你的Gemfile中使用faker gem,bundle ..和...把它放在你的seeds.rb

100.times do
  Post.create({
    title: Faker::Lorem.sentence(3),
    body: Faker::Lorem.paragraph,
    author_name: Faker::Name.name
    })
end

$ rake db:seed