<?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>RedRails &#187; ActiveRecord</title>
	<atom:link href="http://www.redrails.com.br/tags/activerecord/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.redrails.com.br</link>
	<description></description>
	<lastBuildDate>Fri, 03 Sep 2010 13:12:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<image>
<link>http://www.redrails.com.br</link>
<url>http://www.redrails.com.br/wp-content/mbp-favicon/favicon.ico</url>
<title>RedRails</title>
</image>
		<item>
		<title>GEtna &#8211; Ep. 3: Mapeando Tabelas do Banco de Dados</title>
		<link>http://www.redrails.com.br/2008/08/getna-ep-3-mapeando-tabelas-do-banco-de-dados/</link>
		<comments>http://www.redrails.com.br/2008/08/getna-ep-3-mapeando-tabelas-do-banco-de-dados/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 13:00:43 +0000</pubDate>
		<dc:creator>Luiz Carvalho</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Getna]]></category>
		<category><![CDATA[Monografia]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://maxonrails.wordpress.com/?p=154</guid>
		<description><![CDATA[Primeiro passo de nosso gerador Rails era buscar todas as tabelas do banco de dados e criar a estrutura inicial&#8230; outro problema após algumas horas vendo documentação&#8230; bingo! nada XD, Pedindo ajuda para nossa comunidade de sábios desenvolvedores do rails-br, obtive varias sugestões como: De Buscar Pelo Model de Abraão Coelho, Cássio Marques, infelizmente não [...]]]></description>
			<content:encoded><![CDATA[<p>Primeiro passo de nosso gerador Rails era buscar todas as tabelas do banco de dados e criar a estrutura inicial&#8230; outro problema após algumas horas vendo documentação&#8230; bingo! nada XD, Pedindo ajuda para nossa comunidade de sábios desenvolvedores do <a href="http://groups.google.com/group/rails-br?hl=pt-BR" target="_blank">rails-br</a>, obtive varias sugestões como: De Buscar Pelo Model de <a href="http://workingwithrails.com/person/13057-abra-o-coelho-carvalho" target="_blank">Abraão Coelho</a>, <a href="http://cassiomarques.wordpress.com/">Cássio Marques</a>, infelizmente não serviu, pois ainda não tenho model algum, necessito cria-los. <span class="fontsize2 author"><span style="color:#c88900;">Renan Andrade</span></span> teve uma otima ideia, já que até agora eu defini que o banco seria MySQL poderia fazer um simples:</p>
<blockquote>
<h3>mysql&gt; <span style="color:#a52a2a;"><strong>show</strong></span> <span style="color:#a52a2a;"><strong>tables</strong></span>; &lt;= mostra <span style="color:#a52a2a;"><strong>as</strong></span> tabelas;<br />
mysql&gt; <span style="color:#a52a2a;"><strong>describe</strong></span> suatabela; &lt;= exibe sua tabela com <span style="color:#a52a2a;"><strong>as</strong></span> descrições do campo.</h3>
</blockquote>
<p>OK, Mas queria algo mais pratico, tinha certeza que o ActiveRecord poderia fazer isso, e não ia desistir de encontrar.</p>
<p>Estava tentando algo bem bobo como:</p>
<blockquote>
<h3><span class="fixed_width" style="font-family:Courier,Monospaced;">ActiveRecord::Base.column_names</span></h3>
</blockquote>
<p>Me deparei com o seguinte erro:</p>
<blockquote><p><span class="fixed_width" style="font-family:Courier,Monospaced;">NoMethodError: undefined method `abstract_class?&#8217; for Object:Class<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1915:in `class_of_active_record_descendant&#8217;<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1277:in `base_class&#8217;<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1012:in `reset_table_name&#8217;<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1008:in `table_name&#8217;<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1145:in `columns&#8217;<br />
from /var/lib/gems/1.8/gems/activerecord-2.1.0/lib/active_record/<br />
base.rb:1158:in `column_names&#8217;<br />
from (irb):16 </span></p></blockquote>
<p><a href="https://explore.twitter.com/shadow11" target="_self"><span class="fn">Ricardo S Yasuda</span></a> e <a href="http://blog.impactmedia.com.br/">Davis Zanetti</a> Me abriram os olhos quanto ao metodo que só funciona em uma instancia do ActiveRecord e não em uma Classe Abstrata, isso foi muito importante para a minha conclusão.</p>
<p><span class="fontsize2 author"><span style="color:#009486;">Ulisses de Albuquerque</span></span> Deu uma dica boa sobre Adapters mas isso ainda não era claro pra mim, mas foi muito importante isso ai.</p>
<p><a href="http://younoodle.com/people/juan_maiz" target="_blank">Juan Maiz</a> então me endicou uma saída, utilizar o <a href="http://rubyforge.org/projects/sequel" target="_blank">Sequel</a> Uma solução perfeita para meus problemas, mas fiquei um pouco desanimado pensando que o ActiveRecord&#8230; o Poderoso ActiveRecord não tinha tal funcionalidade&#8230; e tambem que meu simples generator tenha que usar alguma dependência tão primitivamente para realizar uma pequena tarefa. Bom não desisti e fui feliz em minha busca e insistência.</p>
<blockquote>
<h3><span style="color:#008b8b;">@con</span> = ActiveRecord::Base.connection<br />
<span style="color:#008b8b;">@table_names</span> = <span style="color:#008b8b;">@con.execute</span>(<span style="color:#ff00ff;">&#8216;show tables&#8217;</span>)</h3>
</blockquote>
<p><img src="http://maxonrails.files.wordpress.com/2008/08/captura_da_tela.png" alt="" /></p>
<p>Está ai, nossas tabelas <img src='http://www.redrails.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  legal né, saí juntando as dicas do pessoal todo e bingo, saiu alguma coisa, bom com isso já posso começar&#8230;, mas como sou meio curioso e me animei com esse negocio e não custava nada dar uma adentrada a mais&#8230; olha o que descobri&#8230;</p>
<blockquote>
<h3><span style="color:#008b8b;">@con</span> = ActiveRecord::Base.connection<br />
<span style="color:#008b8b;">@table_names</span> = <span style="color:#008b8b;">@con.tables</span></h3>
</blockquote>
<p><img src="http://maxonrails.files.wordpress.com/2008/08/captura_da_tela-1.png" alt="" /><br />
 <img src='http://www.redrails.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Que legal, não era que o ActiveRecord Tinha mesmo o bendito Método&#8230; só um pouco de pesquisa e fica simples.</p>
<p>Agradeço a toda a Comunidade.</p>
<p>Abraços</p>
<p><a href="http://maxonrails.wordpress.com/tag/getna/" target="_self">Para ver todos os posts Sobre Getna clique aqui</a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;partner=sociable" title="Print"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados&amp;bodytext=Primeiro%20passo%20de%20nosso%20gerador%20Rails%20era%20buscar%20todas%20as%20tabelas%20do%20banco%20de%20dados%20e%20criar%20a%20estrutura%20inicial...%20outro%20problema%20ap%C3%B3s%20algumas%20horas%20vendo%20documenta%C3%A7%C3%A3o...%20bingo%21%20nada%20XD%2C%20Pedindo%20ajuda%20para%20nossa%20comunidade%20de%20s%C3%A1bios%20desenvolvedor" title="Digg"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F" title="Sphinn"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados&amp;notes=Primeiro%20passo%20de%20nosso%20gerador%20Rails%20era%20buscar%20todas%20as%20tabelas%20do%20banco%20de%20dados%20e%20criar%20a%20estrutura%20inicial...%20outro%20problema%20ap%C3%B3s%20algumas%20horas%20vendo%20documenta%C3%A7%C3%A3o...%20bingo%21%20nada%20XD%2C%20Pedindo%20ajuda%20para%20nossa%20comunidade%20de%20s%C3%A1bios%20desenvolvedor" title="del.icio.us"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;t=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados" title="Facebook"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados" title="Mixx"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados&amp;annotation=Primeiro%20passo%20de%20nosso%20gerador%20Rails%20era%20buscar%20todas%20as%20tabelas%20do%20banco%20de%20dados%20e%20criar%20a%20estrutura%20inicial...%20outro%20problema%20ap%C3%B3s%20algumas%20horas%20vendo%20documenta%C3%A7%C3%A3o...%20bingo%21%20nada%20XD%2C%20Pedindo%20ajuda%20para%20nossa%20comunidade%20de%20s%C3%A1bios%20desenvolvedor" title="Google Bookmarks"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados&amp;source=RedRails+&amp;summary=Primeiro%20passo%20de%20nosso%20gerador%20Rails%20era%20buscar%20todas%20as%20tabelas%20do%20banco%20de%20dados%20e%20criar%20a%20estrutura%20inicial...%20outro%20problema%20ap%C3%B3s%20algumas%20horas%20vendo%20documenta%C3%A7%C3%A3o...%20bingo%21%20nada%20XD%2C%20Pedindo%20ajuda%20para%20nossa%20comunidade%20de%20s%C3%A1bios%20desenvolvedor" title="LinkedIn"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;title=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados" title="Live"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F&amp;t=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados" title="MySpace"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F" title="Technorati"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=GEtna%20-%20Ep.%203%3A%20Mapeando%20Tabelas%20do%20Banco%20de%20Dados%20-%20http%3A%2F%2Fwww.redrails.com.br%2F2008%2F08%2Fgetna-ep-3-mapeando-tabelas-do-banco-de-dados%2F" title="Twitter"><img src="http://www.redrails.com.br/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.redrails.com.br/2008/08/getna-ep-3-mapeando-tabelas-do-banco-de-dados/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
