Rails seeds.rb

在手动测试过程中时常出现需要提前置入数据的情况。
因为各种原因,在编码过程中可能造成测试数据的损坏,此时如果重新通过网站进行手动的数据录入则麻烦很多。另外在需要录入大量数据时也会遇到很多问题。所以在Rails里提供了seeds.rb可以用于数据生成。
如下例。此时我所做的事情是生成100条Blog与100条Resource,good与bad数等各种数据通过随机数生成。
在代码完成后运行rails db:reset即可将数据录入数据库中。
由于数据库本身的原因,其运行速度较慢。这段代码大概需要跑数秒才能完成导入。

(1..100).each do |i|
  good = rand(0..200)
  bad = rand(0..200)
  st = User.find(rand(1..4))
  blogs = Blog.create(creator: st, title:"Blog "+i.to_s, type:'Blog', content: content, good: good, bad: bad)
  blogs.good = rand(0..200)
  blogs.bad = rand(0..200)
  blogs.created_at = blogs.created_at - rand(0..1000)
  course.keywords.each do |kw|
    if rand(0..99)<25
      blogs.keywords<<(kw)
    end
  end
  blogs.courses<<(course)
  blogs.save
  st=User.find(rand(1..4))
  resources = Resource.create(creator:st,title:"Resource "+i.to_s,type:'Resource',content:content,good:rand(0..200),bad:rand(0..200))
  resources.good = rand(0..200)
  resources.bad = rand(0..200) 
  resources.created_at = resources.created_at - rand(0..1000)
  course.keywords.each do |kw|
    if rand(0..99)<25
      resources.keywords<<(kw)
    end
  end
  resources.save
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值