  
<div id="snippet_432" class="snippet">
  <h2><a href="/snippets/432-How-to-get-ActiveRecord-and-Rails-to-print-SQL-to-the-production-log" title="How to get ActiveRecord and Rails to print SQL to the production log - Ruby - sql, production, activerecord, rails, logging">How to get ActiveRecord and Rails to print SQL to the production log</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted 28 days ago by christian
          
  </div>

  <div class="body">
    <p>Add to the end of config/environment.rb:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Base</span>.<span class="FunctionName">logger</span>.<span class="FunctionName">level</span> <span class="Operator">=</span> <span class="LibraryClassType">Logger</span>::<span class="FunctionName">DEBUG</span>
</pre></p>
<p>Config/environments/production.rb might also work.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/255-sql">sql</a>, <a href="/tags/106-production">production</a>, <a href="/tags/490-activerecord">activerecord</a>, <a href="/tags/9-rails">rails</a>, <a href="/tags/295-logging">logging</a>
    
    
  </div>
</div>



  
<div id="snippet_384" class="snippet">
  <h2><a href="/snippets/384-How-to-customize-to-json" title="How to customize to_json - Ruby - to_json, activerecord, rails">How to customize to_json</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted 5 months ago by christian
          
  </div>

  <div class="body">
    <p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">def</span> <span class="FunctionName">to_json</span>(<span class="FunctionArgument">options <span class="Operator">=</span> <span class="FunctionArgument">{</span><span class="FunctionArgument">}</span></span>)
<span class="line-numbers">   2 </span>   <span class="Keyword">if</span> options.<span class="FunctionName">empty?</span>
<span class="line-numbers">   3 </span>     <span class="Keyword">super</span> <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>only</span> =&gt; [<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>id</span>, <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>name</span>]
<span class="line-numbers">   4 </span>   <span class="Keyword">else</span>
<span class="line-numbers">   5 </span>     <span class="Keyword">super</span> options
<span class="line-numbers">   6 </span>   <span class="Keyword">end</span>
<span class="line-numbers">   7 </span> <span class="Keyword">end</span>
<span class="line-numbers">   8 </span> 
</pre></p>
<p>Now post.to_json will only include the id and name attributes.</p>
<p>Note that for arrays of objects&#8212;at least with Rails 2.3.4&#8212;you need use the same parameters on the array.to_json method:</p>
<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="LibraryClassType">Post</span>.<span class="FunctionName">all</span>.<span class="FunctionName">to_json</span> <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>only</span> =&gt; [<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>id</span>, <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>name</span>]
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/819-to-json">to_json</a>, <a href="/tags/490-activerecord">activerecord</a>, <a href="/tags/9-rails">rails</a>
    
    
  </div>
</div>



  
<div id="snippet_298" class="snippet">
  <h2><a href="/snippets/298-How-to-run-ActiveRecord-migrations-from-the-console" title="How to run ActiveRecord migrations from the console - Ruby - activerecord, console, migrations, schema">How to run ActiveRecord migrations from the console</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>There are multiple ways of running migrations from the console. This might be the easiest one to remember:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> irb <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Schema</span>
<span class="line-numbers">   2 </span> add_index <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>followers</span>, [<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>leader_id</span>, <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>follower_id</span>], <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>unique</span> =&gt; <span class="BuiltInConstant">true</span>
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/490-activerecord">activerecord</a>, <a href="/tags/134-console">console</a>, <a href="/tags/655-migrations">migrations</a>, <a href="/tags/656-schema">schema</a>
    
    
  </div>
</div>



  
<div id="snippet_251" class="snippet">
  <h2><a href="/snippets/251-How-to-backup-ActiveRecord-model-data-to-YAML-with-ar-fixtures" title="How to backup ActiveRecord model data to YAML with ar_fixtures - Ruby - fixtures, backup, activerecord, rails, yaml">How to backup ActiveRecord model data to YAML with ar_fixtures</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>First install the plugin:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> script<span class="Operator">/</span>plugin install http<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>/</span><span class="Operator">/</span>github.<span class="FunctionName">com</span><span class="Operator">/</span>mileszs<span class="Operator">/</span>ar_fixtures<span class="Operator">/</span>commits<span class="Operator">/</span>master 
</pre></p>


	<p>Then dump data for all models with:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> rake db<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>data</span><span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>dump</span><span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>all</span>
</pre></p>


	<p>There&#8217;s a task for loading the data into the database, see rake -T for more information.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/569-fixtures">fixtures</a>, <a href="/tags/72-backup">backup</a>, <a href="/tags/490-activerecord">activerecord</a>, <a href="/tags/9-rails">rails</a>, <a href="/tags/568-yaml">yaml</a>
    
    
  </div>
</div>



  
<div id="snippet_257" class="snippet">
  <h2><a href="/snippets/257-How-to-use-ActiveRecord-without-Rails" title="How to use ActiveRecord without Rails - Ruby - activerecord, standalone, rails, ruby">How to use ActiveRecord without Rails</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>This is an example of how to use ActiveRecord without Rails:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> [<span class="String"><span class="String">'</span>/model<span class="String">'</span></span>, <span class="String"><span class="String">'</span>/db<span class="String">'</span></span>].<span class="FunctionName">each</span> <span class="Keyword">do </span>|<span class="Variable">folder</span>|
<span class="line-numbers">   2 </span>   <span class="Variable"><span class="Variable">$</span>:</span>.<span class="FunctionName">unshift</span> <span class="LibraryClassType">File</span>.<span class="FunctionName">dirname</span>(<span class="Variable">__FILE__</span>) <span class="Operator">+</span> folder
<span class="line-numbers">   3 </span> <span class="Keyword">end</span>
<span class="line-numbers">   4 </span> 
<span class="line-numbers">   5 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>test/unit<span class="String">'</span></span>
<span class="line-numbers">   6 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>rubygems<span class="String">'</span></span>
<span class="line-numbers">   7 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>activerecord<span class="String">'</span></span>
<span class="line-numbers">   8 </span> 
<span class="line-numbers">   9 </span> <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Base</span>.<span class="FunctionName">logger</span> <span class="Operator">=</span> <span class="LibraryClassType">Logger</span>.<span class="FunctionName">new</span>(<span class="LibraryClassType">File</span>.<span class="FunctionName">dirname</span>(<span class="Variable">__FILE__</span>) <span class="Operator">+</span> <span class="String"><span class="String">'</span>/debug.log<span class="String">'</span></span>)
<span class="line-numbers">  10 </span> <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Base</span>.<span class="FunctionName">configurations</span> <span class="Operator">=</span> <span class="Variable">YAML</span>::<span class="FunctionName">load</span>(<span class="Variable">IO</span>.<span class="FunctionName">read</span>(<span class="LibraryClassType">File</span>.<span class="FunctionName">dirname</span>(<span class="Variable">__FILE__</span>) <span class="Operator">+</span> <span class="String"><span class="String">'</span>/config/database.yml<span class="String">'</span></span>))
<span class="line-numbers">  11 </span> <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Base</span>.<span class="FunctionName">establish_connection</span>(<span class="String"><span class="String">'</span>sqlite3<span class="String">'</span></span>)
<span class="line-numbers">  12 </span> 
<span class="line-numbers">  13 </span> <span class="Keyword">require</span> <span class="String"><span class="String">'</span>schema<span class="String">'</span></span>
<span class="line-numbers">  14 </span> 
</pre></p>


	<p>Schema contains, for example:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="LibraryClassType">ActiveRecord</span>::<span class="FunctionName">Schema</span>.<span class="FunctionName">define</span> <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>version</span> =&gt; <span class="Number">0</span> <span class="Keyword">do</span>
<span class="line-numbers">   2 </span>   create_table <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>languages</span>, <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>force</span> =&gt; <span class="BuiltInConstant">true</span> <span class="Keyword">do </span>|<span class="Variable">t</span>|
<span class="line-numbers">   3 </span>     t.<span class="FunctionName">string</span> <span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>name</span>
<span class="line-numbers">   4 </span>   <span class="Keyword">end</span>
<span class="line-numbers">   5 </span> <span class="Keyword">end</span>
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/490-activerecord">activerecord</a>, <a href="/tags/345-standalone">standalone</a>, <a href="/tags/9-rails">rails</a>, <a href="/tags/8-ruby">ruby</a>
    
    
  </div>
</div>




<div class="pagination"><span class="disabled">&laquo; Previous</span> <span class="current">1</span> <a href="/tags/show/490-activerecord/page/2">2</a> <a href="/tags/show/490-activerecord/page/2">Next &raquo;</a></div>

