Llene la base de datos con datos de muestra (falsos)

¿Cuál es la mejor manera de llenar la base de datos de desarrollo con datos de muestra?

FactoryGirl parece ser útil para pruebas, pero no apto para desarrollo. Populator no está actualizado a Rails 3.

¿Debería usar algo como Faker o Forgery en una tarea de rake?

preguntado el 28 de julio de 12 a las 13:07

3 Respuestas

Estoy usando ffaker y populator gems en una tarea de rake para crear datos falsos en un proyecto de Rails 3. Aquí hay un ejemplo:

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

Tarea de rake completa aquí: https://github.com/leesmith/ticket_mule/blob/edge/lib/tasks/faker.rake

Respondido 28 Jul 12, 18:07

Respondido 28 Jul 12, 13:07

Use una gema falsificadora en su Gemfile, agrupe... y... ponga esto en su seed.rb

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

$rake db:seed

contestado el 08 de mayo de 14 a las 20:05

No debe poner datos de muestra en seed.rb: este archivo está diseñado para cargar datos reales en la base de datos (es decir, datos geográficos, ciudades, lista de sistemas operativos... y valores predeterminados en general). - collimarco

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.