<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Robby on Rails: RailsOnPg released</title>
    <link>http://www.robbyonrails.com/articles/2009/10/21/railsonpg-released</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>thoughts.sort_by{|t| t[:topic]}.collect </description>
    <item>
      <title>RailsOnPg released</title>
      <description>&lt;p&gt;Hello fellow &lt;a href="http://postgresql.org"&gt;PostgreSQL&lt;/a&gt; and &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; geeks,&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://github.com/alex3t"&gt;Alexander Tretyakov&lt;/a&gt; (&lt;a href="http://twitter.com/redvok"&gt;twitter&lt;/a&gt;) recently released a plugin for Ruby on Rails, which extends migrations and provides you with the ability to create.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Functions (&lt;a href="http://developer.postgresql.org/pgdocs/postgres/sql-createtrigger.html"&gt;pg docs&lt;/a&gt;)&lt;/li&gt;
		&lt;li&gt;Triggers (&lt;a href="http://developer.postgresql.org/pgdocs/postgres/sql-createfunction.html"&gt;pg docs&lt;/a&gt;)&lt;/li&gt;
		&lt;li&gt;Views (&lt;a href="http://developer.postgresql.org/pgdocs/postgres/sql-createview.html"&gt;pg docs&lt;/a&gt;)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;While you can already do something like this with &lt;code&gt;execute&lt;/code&gt; in your migrations:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;execute&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;CREATE VIEW my_tasty_snacks AS SELECT * FROM snacks WHERE food = 'Tasty';&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;With RailsOnPage, you&amp;#8217;re provided a &lt;span class="caps"&gt;DSL&lt;/span&gt; so that you can do the following:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;create_view&lt;/span&gt; &lt;span class="symbol"&gt;:my_tasy_snacks&lt;/span&gt; &lt;span class="keyword"&gt;do&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt;&lt;span class="ident"&gt;view&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt;
  &lt;span class="ident"&gt;view&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;select&lt;/span&gt;     &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;*&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
  &lt;span class="ident"&gt;view&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;from&lt;/span&gt;       &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;snacks&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
  &lt;span class="ident"&gt;view&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;conditions&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;food&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;Tasty&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;&lt;small&gt;note: I haven&amp;#8217;t tested the above, just a hypothetical example&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Anyhow, if you&amp;#8217;re in the habit of using views, functions, or triggers with your PostgreSQL database and are using Ruby on Rails, you might &lt;a href="http://github.com/alex3t/rails_on_pg"&gt;give RailsOnPg a whirl&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Wed, 21 Oct 2009 17:07:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:13c6817f-f554-4995-8fdc-7fb9b425dfae</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2009/10/21/railsonpg-released</link>
      <category>Ruby on Rails</category>
      <category>Programming</category>
      <category>PostgreSQL</category>
      <category>postgresql</category>
      <category>rubyonrails</category>
      <category>plugins</category>
      <category>databases</category>
    </item>
  </channel>
</rss>
