require 'active_record'
require 'ruby-progressbar'
require 'yaml'
ROOT = File.expand_path("..",__FILE__)
DB_CONFIG = YAML.load(File.new("#{ROOT}/database.yml"))
class FromDB < ActiveRecord::Base
self.record_timestamps = false
self.abstract_class = true
establish_connection(DB_CONFIG['from'])
end
class ToDB < ActiveRecord::Base
self.record_timestamps = false
self.abstract_class = true
establish_connection(DB_CONFIG['to'])
def self.get_instance(obj)
self.find_by_id(obj.id) || self.new
end
def self.save_from(obj)
n = get_instance(obj)
self.column_names.each do |c|
m = "convert_#{c}"
v = nil
if obj.respond_to?(m)
v = obj.send(m)
else
v = obj.send(c) if obj.respond_to?(c)
end
n.send("#{c}=", v) if !v.nil?
end
obj.after_save_callback(n) if n.save && obj.respond_to?(:after_save_callback)
n
end
end
require 'active_record'
require 'ruby-progressbar'