rails自动生成大量记录的方法
2015-02-02 20:30
302 查看
因为我们可能rails new了一个网站出来,但是里面没有测试数据,我们不能傻乎乎的在new.html.erb里面一个的手动输入吧?于是我们可以写一个小的脚本来帮助在数据库中插入大量数据;高版本的rails里new生成的网站中貌似已经没有script目录了,我们这里手动建立一个script目录,从而将脚本放进去。
具体脚本要怎么写,取决于你的model中结构如何,比如我的Order生成脚本类似如下:
注意我把代码放在事务里面为的是如果发生错误不至于留下烂摊子,你也可以不用事务。该脚本文件名为make_orders.rb,那么问题来了:如何调用这个脚本呢?其实非常简单:
rails runner script/make_orders.rb
就可以啦。
顺便说一下:如果你想要插入少量数据可以在db/seeds.rb加入代码,如果你是在测试中想插入数据可以在test/fixtures中的*.yml文件中添加记录。
具体脚本要怎么写,取决于你的model中结构如何,比如我的Order生成脚本类似如下:
Order.transaction do (1..100).each do |i| Order.create(name:"Customer #{i}",address:"#{i} Main Street", email:"customer-#{i}@example.com",pay_type:'Check') end end
注意我把代码放在事务里面为的是如果发生错误不至于留下烂摊子,你也可以不用事务。该脚本文件名为make_orders.rb,那么问题来了:如何调用这个脚本呢?其实非常简单:
rails runner script/make_orders.rb
就可以啦。
顺便说一下:如果你想要插入少量数据可以在db/seeds.rb加入代码,如果你是在测试中想插入数据可以在test/fixtures中的*.yml文件中添加记录。
相关文章推荐
- rails自动生成大量记录的方法
- rails自动生成大量记录的方法
- VS自动生成的DataSet中Fill方法(追加记录的实现)
- VS自动生成的DataSet中Fill方法(追加记录的实现)
- 事件驱动自动生成静态页面模板解决方法(三)——文本内容替换
- 利用struts commons BeanUtils写的一个自动生成toString()方法的工具
- Sql Server2000中,插入新记录返回自动生成的序号
- 按某一段时间,自动生成员工的打卡记录
- C#中插入记录,并同时返回插入后生成的自动编号
- PNG无背景图在IE下会自动生成背景--解决方法
- 事件驱动自动生成静态页面模板解决方法(一)——利用静态类和FileSystemWatcher实现模板快速索引和读取
- 事件驱动自动生成静态页面模板解决方法(二)——生成静态页面(2007年9月13日更新代码)
- Tomcat4.1自动生成日志文件系统配置方法
- VS2005中自动生成属性的方法
- 自动生成POJO的方法
- Ruby on rails开发从头来(windows)(十八)-自动生成文档
- 三角网格等值线自动生成方法及程序实现
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)
- 今天需要生成一条option记录插入到select,采用dom的方法与先前的方法有所不同
- 如何插入一条记录获取插入后的自动增长ID列的方法.