在rails中填充开发数据库的最佳方法

met*_*hyl 17 ruby-on-rails

我需要用测试数据填充测试开发数据库,​​例如factorygirl,但是我想从rails控制台中使用它.
我如何将示例数据放入db中,以便我可以从控制台获取它并在那里进行一些测试?

lef*_*ngs 18

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
Run Code Online (Sandbox Code Playgroud)

  • 它应该是`lib/tasks/sample_data.rake` ...文件后缀是错误的,rake找不到这个任务! (6认同)