Подтвердить что ты не робот

Лучший способ заполнить разработку db в рельсах

Мне нужно заполнить базу данных разработки test данными, например, с factorygirl, но я бы хотел использовать ее из консоли rails.
 Как я помещаю данные примера в db, чтобы я мог извлечь его из консоли и провести там какой-нибудь тест?

4b9b3361

Ответ 1

Faker также является хорошим решением.

Вот как выглядит мой lib/tasks/sample_data.rake. Я запускаю его с помощью rake db:populate.

Создает 50 записей со случайной информацией.

require 'faker'

namespace :db do
  desc "Fill database with sample data"
  task :populate => :environment do
    Rake::Task['db:reset'].invoke
    50.times do |n|
      name  = Faker::Company.name
      year = 1900+rand(111)
      rating = 1+rand(10)
      watched = (1 == rand(2) ? true : false)
      imdb_id = rand(1000000)
      Movie.create!(:name => name,
                    :year => year,
                    :rating => rating,
                    :watched => watched,
                    :imdb_id => imdb_id)
    end
  end
end

Ответ 2

Я сделал драгоценный камень test_dummy, который работает как Factory Девушка, чтобы определить множество поддельных данных. При правильной настройке вы можете делать такие вещи:

# Create 100 fake companies
100.times { Company.create_dummy }

# Create a single fake company on-demand
fake_company = Company.create_dummy

Альтернативой является использование средства db/seeds.rb или загрузка в ваших светильниках в среду разработки.

Ответ 3

Майкл Хартл дает отличное введение в эту тему в рамках программы railstutorial.org.

Он использует драгоценный камень под названием Factory Girl, который предназначен для облегчения процесса заполнения базы данных образцами данных.

например.

http://ruby.railstutorial.org/chapters/user-microposts#sec:sample_microposts

https://github.com/railstutorial/sample_app/blob/master/lib/tasks/sample_data.rake