<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cadego blog &#187; rails</title>
	<atom:link href="http://blog.cadego.de/category/ruby/rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cadego.de</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Tue, 18 May 2010 11:04:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Rails Server Auswahl</title>
		<link>http://blog.cadego.de/allgemein/rails-server-auswahl/</link>
		<comments>http://blog.cadego.de/allgemein/rails-server-auswahl/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 17:58:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[vserver]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=234</guid>
		<description><![CDATA[Ich habe mal eine kleine Liste erstellt, die mir bei der Wahl des richtigen Hosters bei dedizierten Servern und VServern für Rails hilft.  Betrifft logischerweise nur kleinere Projekte. Bei größeren Projekten greift man eh nicht auf die 08/15 Konfiguration zurück. Zur Rails Server Liste Related posts:Rails 3.0 Beta


Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rails/rails-3-0-beta/' rel='bookmark' title='Permanent Link: Rails 3.0 Beta'>Rails 3.0 Beta</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Ich habe mal eine kleine Liste erstellt, die mir bei der Wahl des richtigen Hosters bei dedizierten Servern und VServern für Rails hilft.  Betrifft logischerweise nur kleinere Projekte. Bei größeren Projekten greift man eh nicht auf die 08/15 Konfiguration zurück.</p>
<p>Zur <a href="http://blog.cadego.de/rails-server-vserver-auswahl/">Rails Server</a> Liste</p>


<p>Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rails/rails-3-0-beta/' rel='bookmark' title='Permanent Link: Rails 3.0 Beta'>Rails 3.0 Beta</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/allgemein/rails-server-auswahl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3.0 Beta</title>
		<link>http://blog.cadego.de/ruby/rails/rails-3-0-beta/</link>
		<comments>http://blog.cadego.de/ruby/rails/rails-3-0-beta/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:17:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=221</guid>
		<description><![CDATA[Die zweite Beta von Rails 3.0 ist ja nun raus und der Upgrade-Prozess bestehender 2.xx Anwendungen wird &#8216;nett&#8217; werden. Als Highlight sehe ich (mal wieder,( &#8216;****&#8217;)) das Routing. Mit den ActiveRecord Änderungen werden sich wohl eher größere Projekte rumschlagen dürfen. Der Arbeitsaufwand ist nicht ohne. Aber man hat ja bis zur 3.2-Version Zeit. Die restlichen [...]


Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rubygems-1-3-6-und-passenger/' rel='bookmark' title='Permanent Link: Rubygems 1.3.6 und Passenger'>Rubygems 1.3.6 und Passenger</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Die zweite Beta von Rails 3.0 ist ja nun raus und der Upgrade-Prozess bestehender 2.xx Anwendungen wird &#8216;nett&#8217; werden. Als Highlight sehe ich (mal wieder,( &#8216;****&#8217;)) das Routing. Mit den ActiveRecord Änderungen werden sich wohl eher größere Projekte rumschlagen dürfen. Der Arbeitsaufwand ist nicht ohne. Aber man hat ja bis zur 3.2-Version Zeit. <img src='http://blog.cadego.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Die restlichen Änderungen, wie Gems etc (gibt sogar ne Sondersendung von Peepcode) sollten kaum Arbeit machen.<br />
<strong>Update/ Frage:</strong> Plugins, gab es da nicht auch Änderungen?</p>


<p>Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rubygems-1-3-6-und-passenger/' rel='bookmark' title='Permanent Link: Rubygems 1.3.6 und Passenger'>Rubygems 1.3.6 und Passenger</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/rails/rails-3-0-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>has_finder/ named_scope Beispiele</title>
		<link>http://blog.cadego.de/ruby/has_finder-named_scope-beispiele/</link>
		<comments>http://blog.cadego.de/ruby/has_finder-named_scope-beispiele/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:54:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[has_finder]]></category>
		<category><![CDATA[named_scope]]></category>
		<category><![CDATA[opengeodb]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=100</guid>
		<description><![CDATA[Auf meinem Zweitblog( die nächste Blogleiche )  habe ich einige  has_finder / named_scope Beispiele veröffentlicht. No related posts.


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Auf meinem Zweitblog( die nächste Blogleiche <img src='http://blog.cadego.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )  habe ich einige  <a href="http://dessau.edublogs.org/2009/05/11/has_finder-bzw-jetzt-named_scope/" target="_blank">has_finder / named_scope</a> Beispiele veröffentlicht.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/has_finder-named_scope-beispiele/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mal wieder aptana(radrails)</title>
		<link>http://blog.cadego.de/ruby/rails/mal-wieder-aptanaradrails/</link>
		<comments>http://blog.cadego.de/ruby/rails/mal-wieder-aptanaradrails/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 18:08:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[aptana]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=127</guid>
		<description><![CDATA[Was ist eigentlich bei Aptana los? Sind da ein paar Investoren abgesprungen? Der Code von Radrails liegt jetzt auch auf Github. Falls jemand einen Link mit Infos hat, was da los war/ist. Related posts:NetBeansAptana &#8211; svn: Malformed network data


Related posts:<ol><li><a href='http://blog.cadego.de/allgemein/netbeans/' rel='bookmark' title='Permanent Link: NetBeans'>NetBeans</a></li><li><a href='http://blog.cadego.de/allgemein/aptana-svn-malformed-network-data/' rel='bookmark' title='Permanent Link: Aptana &#8211; svn: Malformed network data'>Aptana &#8211; svn: Malformed network data</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Was ist eigentlich bei Aptana los? Sind da ein paar Investoren abgesprungen? Der Code von Radrails liegt jetzt auch auf Github. Falls jemand einen Link mit Infos hat, was da los war/ist.        </p>


<p>Related posts:<ol><li><a href='http://blog.cadego.de/allgemein/netbeans/' rel='bookmark' title='Permanent Link: NetBeans'>NetBeans</a></li><li><a href='http://blog.cadego.de/allgemein/aptana-svn-malformed-network-data/' rel='bookmark' title='Permanent Link: Aptana &#8211; svn: Malformed network data'>Aptana &#8211; svn: Malformed network data</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/rails/mal-wieder-aptanaradrails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Query Optimierung</title>
		<link>http://blog.cadego.de/ruby/rails/query-optimierung/</link>
		<comments>http://blog.cadego.de/ruby/rails/query-optimierung/#comments</comments>
		<pubDate>Tue, 12 May 2009 10:51:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[activerecord]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=110</guid>
		<description><![CDATA[Eine klassische DB-Abfrage erzeugt unter Rails ein &#8216;select *&#8217;.  Logisch, Rails weiß ja nicht, was wir benötigen. Als Beispiel: @u = User.find(params[:id]) MySQL-Query: SELECT * FROM `users` WHERE (`users`.`id` = 54312) Wir benötigen aber nur den Namen, Permalink und die ID. Optimierung von Hand: @u = User.find(params[:id],:select=>['name, permalink,id']) SELECT name,permalink,id FROM `users` WHERE (`users`.`id` = [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Eine klassische DB-Abfrage erzeugt unter Rails ein &#8216;select *&#8217;.  Logisch, Rails weiß ja nicht, was wir benötigen.</p>
<p>Als Beispiel:</p>
<pre>
<code>
@u = User.find(params[:id])
MySQL-Query:
SELECT * FROM `users` WHERE (`users`.`id` = 54312)
</code>
</pre>
<p>Wir benötigen aber nur den Namen, Permalink und die ID.<br />
Optimierung von Hand:</p>
<pre>
<code>
@u = User.find(params[:id],:select=>['name, permalink,id'])
SELECT name,permalink,id FROM `users` WHERE (`users`.`id` = 54312)
</code>
</pre>
<p>Besser&#8230;<br />
Man könnte jetzt alle DB-Abfragen von Hand optimieren. Der Aufwand ist bei einer größeren Rails-Anwendung aber schon heftig.</p>
<pre>
<code>
config.gem "methodmissing-scrooge",:lib=>'scrooge',:source => "http://gems.github.com"
</code>
</pre>
<p>der environment.rb hinzufügen und</p>
<pre>
<code>
rake gems:install
</code>
</pre>
<p>ausführen.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/rails/query-optimierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans</title>
		<link>http://blog.cadego.de/allgemein/netbeans/</link>
		<comments>http://blog.cadego.de/allgemein/netbeans/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 09:38:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=59</guid>
		<description><![CDATA[In den letzten Tagen war ich auf der Suche nach einer kleinen IDE für mein Laptop.  Durch Mongrel, Aptana, MySQL &#38; Firefox ist mein Reisebegleiter ständig am Limit. Nebenbei bin ich mit Aptana nicht mehr wirklich zufrieden. Updatefehler, Programmabstürze und die Performance sind aktuell schon nervig. Bin jetzt über einen NetBeans-Beitrag gestolpert. Die Vorschaubilder schauen [...]


Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rails/mal-wieder-aptanaradrails/' rel='bookmark' title='Permanent Link: mal wieder aptana(radrails)'>mal wieder aptana(radrails)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>In den letzten Tagen war ich auf der Suche nach einer kleinen IDE für mein Laptop.  Durch Mongrel, Aptana, MySQL &amp; Firefox ist mein Reisebegleiter ständig am Limit. Nebenbei bin ich mit Aptana nicht mehr wirklich zufrieden. Updatefehler, Programmabstürze und die Performance sind aktuell schon nervig.</p>
<p>Bin jetzt über einen <a title="NetBeans" href="http://blogs.law.harvard.edu/lianaleahy/2008/12/02/netbeans-on-windows/" target="_blank">NetBeans</a>-Beitrag gestolpert. Die <a href="http://www.netbeans.org/kb/trails/ruby.html" target="_blank">Vorschaubilder</a> schauen jedenfalls vielversprechend aus.</p>
<p>Hat jemand Informationen zum Speicherverbrauch und der Performance?</p>


<p>Related posts:<ol><li><a href='http://blog.cadego.de/ruby/rails/mal-wieder-aptanaradrails/' rel='bookmark' title='Permanent Link: mal wieder aptana(radrails)'>mal wieder aptana(radrails)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/allgemein/netbeans/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Baumstruktur mit Ruby/ Rails importieren</title>
		<link>http://blog.cadego.de/ruby/baumstruktur-mit-ruby-rails-importieren/</link>
		<comments>http://blog.cadego.de/ruby/baumstruktur-mit-ruby-rails-importieren/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 19:44:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[nested set]]></category>
		<category><![CDATA[rexml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=37</guid>
		<description><![CDATA[Zur Weihnachtszeit sollte man es ja etwas gemütlicher angehen lassen. Also eine kleine REXML-Geschichte. Das Skript importiert ein Nested Set in die Datenbank von Rails. # # # DEBUG=0 require "rexml/document" include REXML class XmlCategoryImporter def initialize end def insert_node(xmlDoc, xmlCategory, nodeParent, nodeRoot, nLevel) sStatus = 'UNKNOWN' sName = xmlCategory.elements['name'].text.to_s $stdout.puts "sName: #{sName}" if DEBUG==1 [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Zur Weihnachtszeit sollte man es ja etwas gemütlicher angehen lassen. Also eine kleine REXML-Geschichte. Das Skript importiert ein Nested Set in die Datenbank von Rails.</p>
<pre><span id="more-37"></span>
<code>#
#
#
DEBUG=0

require "rexml/document"
include REXML

class XmlCategoryImporter

  def initialize
  end

  def insert_node(xmlDoc, xmlCategory, nodeParent, nodeRoot, nLevel)
    sStatus = 'UNKNOWN'
    sName = xmlCategory.elements['name'].text.to_s

    $stdout.puts "sName: #{sName}" if DEBUG==1

    if nodeParent.nil?

      $stdout.puts "nodeParent == nil" if DEBUG==1
      $stdout.puts "Look for 'name = #{sName} AND parent_id IS NULL'" if DEBUG==1

      nodeCategory = Category.find(
        :first,
        :conditions =&gt; [ "name = ? AND parent_id IS NULL", sName ]
      )

      if nodeCategory.nil?

        $stdout.puts "nodeCategory == #{nodeCategory}" if DEBUG==1

        nodeCategory = Category.new( 'name' =&gt; sName )
        nodeCategory.save
        nodeCategory.update_attribute( :root_id, nodeCategory.id)
        sStatus = 'INSERTED'

        $stdout.puts "new nodeCategory created" if DEBUG==1

      else

        $stdout.puts "nodeCategory found in database" if DEBUG==1
        sStatus = 'SKIPPED (ALREADY EXISTS)'
      end

      nodeRoot = nodeCategory

    else

      $stdout.puts "nodeParent given" if DEBUG==1  

      nParentId = nodeParent.id
      nRootId = nodeRoot.id

      $stdout.puts "Look for 'name = #{sName} AND parent_id = #{nParentId} AND root_id = #{nRootId}'" if DEBUG==1

      nodeCategory = Category.find(
        :first,
        :conditions =&gt; [ "name = ? AND parent_id = ? AND root_id = ?", sName, nParentId, nRootId ]
      )

      if nodeCategory.nil?

        $stdout.puts "nodeCategory == #{nodeCategory}" if DEBUG==1

        nodeCategory = Category.new(
          :name =&gt; sName,
          :parent_id =&gt; nodeParent.id,
          :root_id =&gt; nodeRoot.id
        )
        nodeCategory.save
        sStatus = 'INSERTED'

        $stdout.puts "new nodeCategory created" if DEBUG==1

      else
        sStatus = 'SKIPPED (ALREADY EXISTS)'

        $stdout.puts "nodeCategory found in database" if DEBUG==1
      end

      nodeCategory.move_to_child_of(nodeParent)
    end

#    sParent = xmlCategory.elements['parent'].text.to_s
#    sRoot = xmlCategory.elements['root'].text.to_s
#    puts "   "*nLevel + "#{sName} (parent: '#{sParent}', root: '#{sRoot}')"
    puts "   "*nLevel + "#{sName}  Status: #{sStatus}"

    nodeParent = nodeCategory

    puts "-"*50 if DEBUG==1

    xmlDoc.elements.each("/categories/category[parent='#{sName}']") do |xmlCategory|
      insert_node(xmlDoc, xmlCategory, nodeParent, nodeRoot, nLevel+1)
    end
  end

  #
  # Importiert Kategorien aus einer Xml-Datei
  # und fügt sie in die DB ein
  #
  def import(sFileName)

    #Category.destroy_all

    file = File.new( sFileName )
    xmlDoc = REXML::Document.new( file )

    xmlDoc.elements.each("/categories/category[name=root]") do |xmlCategory|
      insert_node(xmlDoc, xmlCategory, nil, nil, 0)
    end

    file.close
  end

end
</code></pre>
<p>Dazu ein passender rake-Task</p>
<pre><code>
namespace <img src='http://blog.cadego.de/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> ml do

  desc "Import categories"
  task :import_groups =&gt; :environment do
    require "#{RAILS_ROOT}/lib/xml_category_importer.rb"
    importer = XmlCategoryImporter.new
    importer.import( "#{RAILS_ROOT}/staff/new_node.xml" )
  end
end
</code></pre>
<p>und eine passende XML-Datei.</p>
<pre><code>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;categories&gt;
&lt;category&gt;
&lt;name&gt;Haus_Garten_Tiere&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Haus&lt;/name&gt;
&lt;parent&gt;Haus_Garten_Tiere&lt;/parent&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Garten&lt;/name&gt;
&lt;parent&gt;Haus_Garten_Tiere&lt;/parent&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Tiere&lt;/name&gt;
&lt;parent&gt;Haus_Garten_Tiere&lt;/parent&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Hunde&lt;/name&gt;
&lt;parent&gt;Tiere&lt;/parent&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Katze&lt;/name&gt;
&lt;parent&gt;Tiere&lt;/parent&gt;
&lt;root&gt;Haus_Garten_Tiere&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Computer&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Hardware&lt;/name&gt;
&lt;parent&gt;Computer&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Software&lt;/name&gt;
&lt;parent&gt;Computer&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Grafik&lt;/name&gt;
&lt;parent&gt;Software&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Photoshop&lt;/name&gt;
&lt;parent&gt;Grafik&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Internet&lt;/name&gt;
&lt;parent&gt;Computer&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Programmierung&lt;/name&gt;
&lt;parent&gt;Computer&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Ruby&lt;/name&gt;
&lt;parent&gt;Programmierung&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Ruby on Rails&lt;/name&gt;
&lt;parent&gt;Ruby&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Datenbanken&lt;/name&gt;
&lt;parent&gt;Computer&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;MySQL&lt;/name&gt;
&lt;parent&gt;Datenbanken&lt;/parent&gt;
&lt;root&gt;Computer&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Spiele&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;PC-Spiele&lt;/name&gt;
&lt;parent&gt;Spiele&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Adventure&lt;/name&gt;
&lt;parent&gt;PC-Spiele&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Konsolen&lt;/name&gt;
&lt;parent&gt;Spiele&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Playstation&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Playstation 2&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Playstation 3&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;X-Box&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Xbox 360&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Wii&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Konsolen Allgemein&lt;/name&gt;
&lt;parent&gt;Konsolen&lt;/parent&gt;
&lt;root&gt;Spiele&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Auto_Verkehr&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Verkehrsrecht&lt;/name&gt;
&lt;parent&gt;Auto_Verkehr&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Auto&lt;/name&gt;
&lt;parent&gt;Auto_Verkehr&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Hersteller&lt;/name&gt;
&lt;parent&gt;Auto&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Tuning&lt;/name&gt;
&lt;parent&gt;Auto&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Technik&lt;/name&gt;
&lt;parent&gt;Auto&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;CarHifi&lt;/name&gt;
&lt;parent&gt;Auto&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Motorrad&lt;/name&gt;
&lt;parent&gt;Auto_Verkehr&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Motorsport&lt;/name&gt;
&lt;parent&gt;Auto_Verkehr&lt;/parent&gt;
&lt;root&gt;Auto_Verkehr&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Freizeit&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Fotografie&lt;/name&gt;
&lt;parent&gt;Freizeit&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Fotografie Menschen&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Natur&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Tiere&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Hunde&lt;/name&gt;
&lt;parent&gt;Tiere&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Labrador&lt;/name&gt;
&lt;parent&gt;Hunde&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Katzen&lt;/name&gt;
&lt;parent&gt;Tiere&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Akt&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Technik&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Architektur&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Sport&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Digiart&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Reise&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Sonstige&lt;/name&gt;
&lt;parent&gt;Fotografie&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Videos&lt;/name&gt;
&lt;parent&gt;Freizeit&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Musik&lt;/name&gt;
&lt;parent&gt;Freizeit&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Sport&lt;/name&gt;
&lt;parent&gt;Freizeit&lt;/parent&gt;
&lt;root&gt;Freizeit&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Wissenschaft_und_Technik&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Wissenschaft_und_Technik&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Reisen&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Deutschland&lt;/name&gt;
&lt;parent&gt;Reisen&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Regionen&lt;/name&gt;
&lt;parent&gt;Deutschland&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Städte&lt;/name&gt;
&lt;parent&gt;Deutschland&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Berlin&lt;/name&gt;
&lt;parent&gt;Städte&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Hamburg&lt;/name&gt;
&lt;parent&gt;Städte&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;München&lt;/name&gt;
&lt;parent&gt;Städte&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Europa&lt;/name&gt;
&lt;parent&gt;Reisen&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Asien&lt;/name&gt;
&lt;parent&gt;Reisen&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Vietnam&lt;/name&gt;
&lt;parent&gt;Asien&lt;/parent&gt;
&lt;root&gt;Reisen&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Wirtschaft&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Wirtschaft&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Wissenschaft_und_Technik&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Wissenschaft_und_Technik&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Schulen_Ausbildung_und_Universitäten&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Schulen_Ausbildung_und_Universitäten&lt;/root&gt;
&lt;/category&gt;
&lt;category&gt;
&lt;name&gt;Gesundheit&lt;/name&gt;
&lt;parent /&gt;
&lt;root&gt;Gesundheit&lt;/root&gt;
&lt;/category&gt;
&lt;/categories&gt;

</code></pre>
<div id="attachment_69" class="wp-caption alignnone" style="width: 205px"><a href="http://blog.cadego.de/wp-content/uploads/2008/12/ns_import2.jpg"><img class="size-medium wp-image-69" title="import via rake" src="http://blog.cadego.de/wp-content/uploads/2008/12/ns_import2-195x300.jpg" alt="import via rake" width="195" height="300" /></a><p class="wp-caption-text">import via rake</p></div>
<div id="attachment_48" class="wp-caption aligncenter" style="width: 510px"><a href="http://blog.cadego.de/wp-content/uploads/2008/12/xml-import-rails_00.jpg"><img class="size-full wp-image-48" title="xml-import-rails" src="http://blog.cadego.de/wp-content/uploads/2008/12/xml-import-rails_00.jpg" alt="Baumstruktur unter rails importieren" width="500" height="331" /></a><p class="wp-caption-text">Baumstruktur unter rails importieren</p></div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/baumstruktur-mit-ruby-rails-importieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Datenbank mit Rails optimieren</title>
		<link>http://blog.cadego.de/ruby/rails/datenbank-mit-rails-optimieren/</link>
		<comments>http://blog.cadego.de/ruby/rails/datenbank-mit-rails-optimieren/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 11:23:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rake]]></category>

		<guid isPermaLink="false">http://blog.cadego.de/?p=30</guid>
		<description><![CDATA[Hier zwei kleine Rake-Tasks zur DB-Optimierung. Aufruf: rake db:optimize_tables bzw. rake db:optimize_databases namespace :db do desc "tabellen optimeren" task ptimize_tables =&#62; :environment do tables=ActiveRecord::Base.connection.select_values("show tables;") tables.each do &#124;table&#124; puts "optimiere #{table}..." ActiveRecord::Base.connection.select_values("optimize table #{table};") puts "done" end end desc "alle datenbanken optimeren" task ptimize_databases =&#62; :environment do dbs=ActiveRecord::Base.connection.select_values("show databases;") dbs.each do &#124;db&#124; puts "optimiere tabellen [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Hier zwei kleine Rake-Tasks zur DB-Optimierung.</p>
<p>Aufruf:</p>
<p>rake db:<code>optimize_tables bzw.</code></p>
<p>rake db:<code>optimize_databases</code></p>
<pre><code>
namespace :db do
  desc "tabellen optimeren"
  task <img src='http://blog.cadego.de/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> ptimize_tables  =&gt; :environment do
    tables=ActiveRecord::Base.connection.select_values("show tables;")
    tables.each do |table|
      puts "optimiere #{table}..."
      ActiveRecord::Base.connection.select_values("optimize table #{table};")
      puts "done"
    end
  end
  desc "alle datenbanken optimeren"
  task <img src='http://blog.cadego.de/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> ptimize_databases  =&gt; :environment do
  dbs=ActiveRecord::Base.connection.select_values("show databases;")
    dbs.each do |db|
      puts "optimiere tabellen von #{db}..."
      unless db=="information_schema"
        tables=ActiveRecord::Base.connection.select_values("show tables from #{db};")
        tables.each do |table|
          puts "optimiere #{table}..."
          ActiveRecord::Base.connection.select_values("optimize table #{db}.#{table};")
          puts "done"
        end
        puts "done"
      end
    end
  end
end
</code></pre>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.cadego.de/ruby/rails/datenbank-mit-rails-optimieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
