【发布时间】:2013-04-26 07:08:10
【问题描述】:
我有一个 Ruby on Rails 应用程序(ruby 1.8.7;rails 2.3.18)。我有一个自定义的 rake 任务(基本上是一个 ruby 程序),它比较两个数组,然后将它们的差异存储在第三个数组中(arr3 = arr1 - arr2)。在应用程序中有一个用户模型。我有一个数据库脚本,可以从模型/数据库中暂停(删除)用户。所以我想在创建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
谢谢, 巴尔加夫
【问题讨论】:
-
也许你可以看看这个类似的问题:stackoverflow.com/questions/16074630/…
-
我不想从数据库中删除整个列。只想使用 db 脚本删除一些条目。
-
为什么需要调用数据库脚本?你没有使用 ActiveRecord 吗?
标签: ruby-on-rails ruby