0
當前我需要將.CSV文件導入到我的應用程序中。在Ruby on Rails上運行腳本模塊
我發現此代碼(由以前的開發人員提供)將用作導入程序。但我不知道如何運行這個腳本。它與/任務不同嗎?因爲當我運行rake -T
它不顯示。
require 'csv'
module Migrators
module Groups
class << self
def import!
Post.skip_callback :create, :before, :set_last_action_at
Post.skip_callback :create, :after, :create_memberhip_of_owner
CSV.foreach(Rails.root.to_s + '/db/lagacy/groups.csv', :headers => true) do |row|
group = Group.new(row.to_hash)
group.save(:validate => false)
end
# Update last_action_at to created_at
Group.where('last_action_at IS NULL').update_all('last_action_at = created_at')
Group.find_by_sql("SELECT setval('groups_id_seq', (SELECT MAX(id) FROM groups))")
Post.set_callback :create, :before, :set_last_action_at
Post.set_callback :create, :after, :create_memberhip_of_owner
end
end
end
end
你好胡安,謝謝你的回答。我明白,rake任務會更容易,但由於這是以前開發人員的舊代碼,因此我無法更改或嚮應用程序添加任何代碼。我需要使用舊的代碼。 – Irwan 2014-10-01 09:32:37
好吧,所以把它添加到文件的第一行:#!/ usr/bin/env ruby並賦予執行權限並將其作爲腳本運行 – 2014-10-01 09:34:27
Hello Juan,再次感謝您的回覆。所以這些行會放在哪個文件上? – Irwan 2014-10-01 10:12:12