这是我的完整脚本.
我试图做一个rake任务,从目录中的文件收集数据并将它们加载到mysql中.
我修复了local-infile = 1,没什么用.它只是给我错误
namespace :db do
namespace :load do
desc "Load Properties into DB"
task :properties => :environment do
MysqL2::Client.default_query_options[:connect_flags] |= MysqL2::Client::LOCAL_FILES
@files = Dir.entries("db/property_website_scripts/")
connection = ActiveRecord::Base.connection()
for file in @files
next if file == "." || file == ".."
sql = "LOAD DATA LOCAL INFILE '#{Rails.root}/db/property_website_scripts/#{file}'
INTO TABLE properties
FIELDS TERMINATED BY '|'
LInes TERMINATED BY '\r\n'
(property_type,property_for,city,state,country......);"
connection.execute(sql)
end
#updating created at and updated at
Property.update_all({:created_at => Time.Now,:updated_at => Time.Now},"created_at IS NULL")
end
end
end
最佳答案
这篇文章的解决方案对我有用:Enabling local-infile for loading data into remote mysql from rails
将其添加到database.yml
local_infile:true
原文地址:https://www.jb51.cc/mysql/433122.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。