有一个小需求,需要一个脚本将excel文件导入数据库对应字段。
正好可以练习一下task,不过首先先查查有没有什么好gem可以利用下(原谅我这么懒)
找到一个'roo' 回到gemfile中发现项目中已经包含了这个gem,恩看样子大家都在用,查看了一下用法还是很简单,非常好用。
# excel gem 'roo', '~> 2.3.2', require: false在 gemfile中添加上这个gem
然后创建一个新的rake任务,就可以开始我们的小任务了
namespace :v5_8_5 do task a_change_offer_preferred: :environment do require 'roo' file = "#{Rails.root}/tmp/preferred_offers.xlsx" # 将文本路径赋给对象 if File.exists?(file) # 打开文本赋值给xlsx对象,将文本第一列赋值给对象sheet xlsx = Roo::Spreadsheet.open(file, extension: :xlsx) sheet = xlsx.sheet(0) # 这里将读取出来的数据更新到数据表中 sheet.each do |row| offer = Offer.find_by(id: row[0]) offer.update_columns(description: row[2], position: row[3]) end end end end
执行 rake v5_8_5:a_change_offer_preferred
就可以进行数据迁移了,当然实际中最好加上log,以及更新容错,捕获异常等级制才显得更加完善。
怎么样 这个gem是不是很好用,官方文档上还有导入csv 等等很多的方法
相关推荐
这个简单的插件使您能够调用to_xls到Rails的数组集合。 数组元素支持对象:ActiveRecord,Mongid,哈希。 在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git => ...
Rails中的Migration相对来说更适合做数据库的对象集合操作,而自动化的rake则是一个较好的选择,下面来浅谈Ruby on Rails下的rake与数据库数据迁移操作,需要的朋友可以参考下
本文简单介绍了Ruby On Rails的安装步骤以及MySQL数据库的配置方法,并介绍了几个官方阅读资源。
活动记录副本 重定向ActiveRecord(Rails)读取到副本数据库,同时确保所有写入都转到主数据库。 状态 ... active_record_replica确保默认情况下将数据库事务中执行的所有读取都定向到主数据库,以
jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...
NULL 博文链接:https://zyn-zyn.iteye.com/blog/1163143
本人学习总结的ruby on rails 3.1.0数据库类查询方法,比较全了
检查Rails数据库快速方法,查看表的内容,将它们导出为CSV,EXPLAIN SQL并运行SQL查询。 演示可在以下获得: : 视频演示: ://youtu.be/TYsRxXRFp1g,https: 要求 版本>2.0 100%适用于Ruby 2.3 +,Rails 5和...
rails连接oracle需要的驱动 执行命令:C:\> ruby 文件名.rb <br>
Paperclip 是 Rails 框架的一个插件,用于扩展 ActiveRecord 以支持简单的文件附件的功能。 标签:Paperclip
可实现多文件的同时上传,控制文件的格式,数量,同时兼容IE6,7,firefox,易于扩展
本文介绍如何开始使用Ruby on Rails,读完本文后,您将学到: 如何安装Rails,创建Rails应用,如何连接数据库; Rails应用的基本文件结构; MVC(模型,视图,控制器)和REST架构的基本原理; 如何快速生成Rails应用...
ruby on rails 安装 组件下载 连接mysql mssql等数据库 包含一个完整的一对多数据库例子方案
NULL 博文链接:https://mylir.iteye.com/blog/800734
本文介绍如何开始使用 Ruby on Rails。...如何安装 Rails,新建 Rails 程序,如何连接数据库; Rails 程序的基本文件结构; MVC(模型,视图,控制器)和 REST 架构的基本原理; 如何快速生成 Rails 程序骨架;
NULL 博文链接:https://dendrobium.iteye.com/blog/305938
labrador, Rails 开发数据库的忠实数据检索器 v0.2.1用于 Rails 开发数据库的忠实数据库( 未知) 客户端。安装拉布拉多可以通过一个聚合 shell 命令的单一拷贝来安装。 详细说明可以在拉布拉多网站的主页上找到。插件...
Ruby on Rails是否唯一支持SQLite数据库管理?
NULL 博文链接:https://like-eagle.iteye.com/blog/994634
Ruby on Rails 现在带来了网页开发风暴; 现在国内接触这方面资源较少,php还是主流,可是ruby... 笔者在ruby on Rails 学习中发现一个扩展性极好的模板,spree 工作之余,自己编写了基于这个模板的商品批量导入的脚本