rails自动生成大量记录的方法

简介:

    因为我们可能rails new了一个网站出来,但是里面没有测试数据,我们不能傻乎乎的在new.html.erb里面一个的手动输入吧?于是我们可以写一个小的脚本来帮助在数据库中插入大量数据;高版本的rails里new生成的网站中貌似已经没有script目录了,我们这里手动建立一个script目录,从而将脚本放进去。

    具体脚本要怎么写,取决于你的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文件中添加记录。

相关文章
Jira-API的详细使用例子
下面是Jira-API的详细使用的例子,包含: • Jira的登陆,通过jql批量查询jira-issue, • 获得jira-project下的所有issue,assignee的详细信息, • 添加和更新defect • 下载和上传附件 • 通过Jira登录的cookies搭配requsts库发送自定义的一些http请求
1785 1
|
1月前
|
C# Python
如何让 StyleCop 忽略 refit 自动生成的代码
创建自定义规则:我们需要创建一个自定义规则,该规则将用于排除特定类型的代码,我们可以创建一个自定义规则,用于检查类名是否以大写字母开头,然后忽略符合此规则的代码。
|
3月前
|
API
QT中使用 WinExec API 参数不支持中文路径的解决办法
在QT中使用WinExec时,发现如果调用外部程序,如果路径或者参数含有中文路径,可能导致无法打开应用程序或者无法使用参数,解决办法,下面是简单的解决办法
151 0
|
安全 Java API
Java日期与时间API(详解全部新与旧API,含代码例子)
在时间工具类里面重点学习这两个就差不多了LocalDateTime(全部)和DateTimeFormatter(转化格式)
129 0
|
API 网络架构
docfx 简单使用方法、自动生成目录的工具
docfx 简单使用方法、自动生成目录的工具
287 0
|
机器学习/深度学习 人工智能 自然语言处理
如何实现代码自动生成?
每年大促前一个月都是奋战与忙碌的时节,不仅业务上在不断迭代创新,技术上也在推陈出新,需求推动技术变革是一个正向演进的过程,但革新是需要成本的,每一次技术与标准的革新都带来一场翻天覆地的大改造。如果我们能将需求与产物划上等号:需求即代码,那么我们只要找到两者之间的关联关系即可通过需求自动产出代码了,那岂不是乐哉美哉(diao zha tian le)。 本文主要围绕自动化生成代码的目标,讲述我们在这一过程中的所思所想,以及我们在618期间的阶段成果实践。
4724 0
如何实现代码自动生成?
|
机器学习/深度学习 Python
如何用简易代码自动生成经典语录
本文主要讲述如何用少于20行的python代码自动生成经典语录
2971 0
|
XML API 数据格式
weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能
原文:weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能 在开发Webapi项目时每写完一个方法时,是不是需要添加相应的功能说明和测试案例呢?为了更简单方便的写说明接口文档和接口测试HelpPage提供了一个方便的途径。
1965 0