2

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

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

我应该在 rake 任务中使用 Faker 或 Forgery 之类的东西吗?

4

3 回答 3

6

我在 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

完整的 rake 任务: https ://github.com/leesmith/ticket_mule/blob/edge/lib/tasks/faker.rake

于 2012-07-28T17:33:41.110 回答
2

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

于 2012-07-28T12:57:00.567 回答
-1

在你的 Gemfile 中使用 faker gem,捆绑......然后......把它放在你的种子.rb

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

$rake 数据库:种子

于 2014-05-08T19:18:45.357 回答