【发布时间】:2014-05-09 03:18:45
【问题描述】:
用示例数据填充开发数据库的最佳方法是什么?
FactoryGirl 似乎对测试有用,但不适合开发。 Populator 未更新到 Rails 3。
我应该在 rake 任务中使用 Faker 或 Forgery 之类的东西吗?
【问题讨论】:
用示例数据填充开发数据库的最佳方法是什么?
FactoryGirl 似乎对测试有用,但不适合开发。 Populator 未更新到 Rails 3。
我应该在 rake 任务中使用 Faker 或 Forgery 之类的东西吗?
【问题讨论】:
我在 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
【讨论】:
【讨论】:
在你的 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 数据库:种子
【讨论】: