Commit 39a4ebdb8ed10766f75bfba94cf0775eb3593982

Authored by AntonioTerceiro
1 parent d2e34303

ActionItem261: adding script to extract data from sies database


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1644 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing 1 changed file with 58 additions and 0 deletions   Show diff stats
script/extract_sies_data.rb 0 → 100644
... ... @@ -0,0 +1,58 @@
  1 +$LOAD_PATH.unshift('/usr/share/rails/activerecord/lib')
  2 +$LOAD_PATH.unshift('/usr/share/rails/activesupport/lib')
  3 +
  4 +require 'activerecord'
  5 +require 'active_support'
  6 +
  7 +LIMIT = 5
  8 +
  9 +ActiveRecord::Base.establish_connection(
  10 + :adapter => 'mysql',
  11 + :host => 'localhost',
  12 + :database => 'farejador',
  13 + :username => 'root',
  14 + :password => 'root'
  15 +)
  16 +
  17 +class Enterprise < ActiveRecord::Base
  18 + set_table_name 'cons_dadosbasicos'
  19 +end
  20 +
  21 +class Category < ActiveRecord::Base
  22 + set_table_name 'lista_produtos'
  23 +end
  24 +
  25 +class Dumper
  26 + def initialize
  27 + @seq = 0
  28 + @seqs = {}
  29 + end
  30 +
  31 + def pretty(str, alt = nil)
  32 + if alt.nil?
  33 + str
  34 + else
  35 + str + ' (' + alt + ')'
  36 + end
  37 + end
  38 +
  39 + def dump(cat, parent = nil)
  40 +
  41 + @seqs[cat] = @seq
  42 + puts "cat#{@seq} = Category.create!(:name => #{pretty(cat.nome, cat.nome_alt).inspect}, :parent => #{parent ? 'cat' + @seqs[parent].to_s : 'nil' })"
  43 + @seq = @seq + 1
  44 +
  45 + Category.find(:all, :conditions => { :id_mae => cat.id }).each do |child|
  46 + dump(child, cat)
  47 + end
  48 +
  49 + end
  50 +
  51 +end
  52 +
  53 +dumper = Dumper.new
  54 +Category.find(:all, :conditions => 'id_mae is null or id_mae = -1').each do |cat|
  55 + dumper.dump(cat, nil)
  56 +end
  57 +
  58 +# puts Enterprise.find(:all, :limit => LIMIT).to_xml
... ...