ruby-on-rails - 如何通过rake任务导入CSV文件?

标签 ruby-on-rails rake import-from-csv

我知道这个论坛上已经问过很多这个问题,但是我的期限很紧,我需要一些帮助,因此任何建议都非常感谢。我是Ruby on Rails的新手,因此在响应时请记住这一点。我想创建一个rake任务,该任务在运行时会更新mysqlite db中的多个表。这是一个在我的数据库中创建新事件的迁移文件。如何创建 rake 任务,该任务将通过CSV文件输入所有这些信息。有人可以帮我从头到尾编写rake文件吗?显然,您不需要为每个字符串编写每个任务,仅举几个例子。除了实际的rake文件之外,我是否还需要向我的应用程序的任何其他部分添加代码(我知道这是一个非常笼统的问题,但是如果我确实需要添加代码,则希望对此处的位置进行一般描述)。我觉得会有一些指导。如果有人需要我提供更多信息,请询问。

class CreateIncidents < ActiveRecord::Migration
  def self.up
    create_table :incidents do |t|
      t.datetime :incident_datetime
      t.string :location
      t.string :report_nr
      t.string :responsible_party
      t.string :area_resident
      t.string :street
      t.string :city
      t.string :state
      t.string :home_phone
      t.string :cell_phone
      t.string :insurance_carrier_name
      t.string :insurance_carrier_street
      t.string :insurance_carrier_city
      t.string :insurance_carrier_state
      t.string :insurance_carrier_phone
      t.string :insurance_carrier_contact
      t.string :policy_nr
      t.string :vin_nr
      t.string :license_nr
      t.string :vehicle_make
      t.string :vehicle_model
      t.string :vehicle_year


      t.timestamps
    end
  end

  def self.down
    drop_table :incidents
  end
end

最佳答案

在lib / task中的项目文件夹下,创建一个rake文件,说“import_incidents_csv.rake”

跟随这个
Ruby on Rails - Import Data from a CSV file

在rake文件中有以下代码

require 'csv'
namespace :import_incidents_csv do
  task :create_incidents => :environment do
    "code from the link"  
  end
end 

您可以将此任务称为“rake import_incidents_csv:create_incidents”

关于ruby-on-rails - 如何通过rake任务导入CSV文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12461260/

相关文章:

ruby - 使用 Ruby popen 和 PostgreSQL createuser

javascript - 动态表格和盒子

Java CSV Reader,读取剩余数据

ruby-on-rails - 如何在 Rails 请求中获取 Puma worker 索引?

ruby-on-rails - 由于 sqlite gem 导致 Heroku 错误

ruby-on-rails - 如何使用环境变量来避免在 database.yml 中硬编码 postgresql 的用户名和密码?

c# - csv 列文本之间的引号导致在导入 csv 数据时跳过剩余的列

javascript - jQuery 事件监听器未监听

mysql - Ruby on Rails : Error on rake db:migrate

ruby - 如何为一次性 rake 任务覆盖 ruby​​ 中的方法?