Commit 39a4ebdb8ed10766f75bfba94cf0775eb3593982
1 parent
d2e34303
Exists in
master
and in
28 other branches
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
@@ -0,0 +1,58 @@ | @@ -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 |