Rails 4.2:导入 CSV 问题的 Rake 任务
Rails 4.2: Rake Task to Import CSV Issue
我有一个 rake 任务应该导入一个 .csv
文件并将数据保存到数据库中。到目前为止它运行但是当我检查数据库时 - 没有保存任何东西并且我没有看到任何错误 - 让我没有方向。
我正在使用 Rails 4.2 和 Postgresql 作为数据库。
这是我的任务..
namespace :import_users do
desc "imports user data from a csv file"
task :data => :environment do
require 'csv'
CSV.foreach('/Users/RAILS/Extra Files/2015 User Report.csv') do |row|
plan = row[0]
contact_ident = row[1]
prefer_fax = row[2]
pin = row[3]
name = row[4] #account
first_name = row[5]
last_name = row[6]
email = row[7]
phone = row[8]
prefer_fax == "Yes" ? p_fax = true : p_fax = false
p = Plan.where("name ~ ?","#{plan}( )")
user = User.create( contact_ident: contact_ident,
prefer_fax: p_fax,
first_name: first_name,
last_name: last_name,
email: email
)
account = Account.where("pin ~ ?", "#{pin}").first_or_create do |account|
account.name = name
account.phone = phone
end
user.plans << p
user.accounts << account
end
end
end
你能试试替换一下吗
User.create
和
User.create!
所以如果创建有任何问题,它会提出。
我有一个 rake 任务应该导入一个 .csv
文件并将数据保存到数据库中。到目前为止它运行但是当我检查数据库时 - 没有保存任何东西并且我没有看到任何错误 - 让我没有方向。
我正在使用 Rails 4.2 和 Postgresql 作为数据库。
这是我的任务..
namespace :import_users do
desc "imports user data from a csv file"
task :data => :environment do
require 'csv'
CSV.foreach('/Users/RAILS/Extra Files/2015 User Report.csv') do |row|
plan = row[0]
contact_ident = row[1]
prefer_fax = row[2]
pin = row[3]
name = row[4] #account
first_name = row[5]
last_name = row[6]
email = row[7]
phone = row[8]
prefer_fax == "Yes" ? p_fax = true : p_fax = false
p = Plan.where("name ~ ?","#{plan}( )")
user = User.create( contact_ident: contact_ident,
prefer_fax: p_fax,
first_name: first_name,
last_name: last_name,
email: email
)
account = Account.where("pin ~ ?", "#{pin}").first_or_create do |account|
account.name = name
account.phone = phone
end
user.plans << p
user.accounts << account
end
end
end
你能试试替换一下吗
User.create
和
User.create!
所以如果创建有任何问题,它会提出。