我有一个Ruby on Rails应用程序(ruby 1.8.7; rails 2.3.18)。我有一个自定义的rake任务(基本上是一个ruby程序),它比较两个数组,然后将它们的差异存储在第三个数组中(arr3 = arr1 - arr2)。在应用程序中有一个用户模型。我有一个数据库脚本,用于从model/db中挂起(删除)用户。所以我想在arr3
创建后从rake任务调用这个数据库脚本。我想运行这个脚本,直到arr3
中的所有元素都被删除。数组给出了两个用户列表之间的区别。从rake任务调用数据库脚本
任何人都可以指导我吗?我如何从rake任务调用数据库脚本?任何事情都会有很大的帮助。
耙文件如下:
namespace :db do
arr1 = Array.new
arr2 = Array.new
arr3 = Array.new
desc "load data from csv"
task :load_is_data do
require 'fastercsv'
CSV.foreach("C:/Sites/rails_project/demo_app/list1.csv") do |row|
arr1 << row[0]
end
CSV.foreach("C:/Sites/rails_project/demo_app/list2.csv") do |row|
arr2 << row[0]
end
arr3 = arr1-arr2
puts "Inactive: #{arr3}"
#CODE TO BE ADDED, TO CALL DATABASE-SCRIPT
end
end
感谢, Bhargav
也许你可以看看这个类似的问题:http://stackoverflow.com/questions/16074630/how-can-i-remove-a-column-from-table-using-rails-console – 2013-04-26 07:14:12
我不想从数据库中删除整列。只想通过使用db脚本删除一些条目。 – bhargav 2013-04-26 07:42:27
为什么你需要调用数据库脚本?你没有使用ActiveRecord? – Yule 2013-04-26 09:07:54