Ruby on Rails 导出 csv 文件
记录 Ruby on Rails 使用 rake 任务来导出数据库数据至 Csv 文件。
首先在项目 lib/tasks 文件夹下新建一个 **.rake 文件,然后输入:
# frozen_string_literal: true
require 'csv'
desc 'export users pad info'
task export_users_pad_info: :environment do
file_name = '../users_info.csv'
field_name = %w(id 用户名 邮箱)
csv_string = CSV.generate(col_sep: "\t", row_sep: "\r\n") do |csv|
csv << field_name
User.find_each do |user|
puts "write user id = #{user.id}"
csv << [user.id, user.name, user.email]
end
end
File.write(file_name, csv_string)
end
然后在命令行执行:
bundle exec rake export_users_pad_info
搜索‘users_info.csv’文件即可。