<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: DBIC vs DBI</title>
	<atom:link href="http://perlhacks.com/2012/10/dbic-vs-dbi/feed/" rel="self" type="application/rss+xml" />
	<link>http://perlhacks.com/2012/10/dbic-vs-dbi/</link>
	<description>Just another Perl Hacker&#039;s blog</description>
	<lastBuildDate>Fri, 22 Mar 2013 11:24:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: Pedro Melo</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7707</link>
		<dc:creator>Pedro Melo</dc:creator>
		<pubDate>Sun, 17 Mar 2013 09:01:13 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7707</guid>
		<description><![CDATA[And they do, just not as model. They use DBIC as a sane DBI access layer.

That&#039;s the difference.]]></description>
		<content:encoded><![CDATA[<p>And they do, just not as model. They use DBIC as a sane DBI access layer.</p>
<p>That&#8217;s the difference.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cross</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7706</link>
		<dc:creator>Dave Cross</dc:creator>
		<pubDate>Sun, 17 Mar 2013 08:25:08 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7706</guid>
		<description><![CDATA[Pedro,

&quot;I never use DBIC as my model&quot;

That&#039;s weird, because &lt;a href=&quot;http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7197&quot; rel=&quot;nofollow&quot;&gt;back in January&lt;/a&gt; as part of this very discussion, you said:

&quot;All my future projects will use DBIC for sure.&quot;]]></description>
		<content:encoded><![CDATA[<p>Pedro,</p>
<p>&#8220;I never use DBIC as my model&#8221;</p>
<p>That&#8217;s weird, because <a href="http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7197" rel="nofollow">back in January</a> as part of this very discussion, you said:</p>
<p>&#8220;All my future projects will use DBIC for sure.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Melo</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7700</link>
		<dc:creator>Pedro Melo</dc:creator>
		<pubDate>Fri, 15 Mar 2013 16:23:03 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7700</guid>
		<description><![CDATA[Peter, you&#039;re absolutely right: we (or at least I) forget that any class with a inflate_result() method could be used.

But my point is that sometime a model of a single concept requires multiple tables. That&#039;s why I use models that use DBIC, and not DBIC directly. It also made it very simple to add a Redis layer that caches the entire modelled entity, with data from multiple tables, as a single serialised blob.

I&#039;m sure you may be able to extend DBIC to do this. In my experience you can extend DBIC to do almost everything I can think of. But I found moving my Model to Moose (and the Moo) classes, that use DBIC for storage, much simpler.]]></description>
		<content:encoded><![CDATA[<p>Peter, you&#8217;re absolutely right: we (or at least I) forget that any class with a inflate_result() method could be used.</p>
<p>But my point is that sometime a model of a single concept requires multiple tables. That&#8217;s why I use models that use DBIC, and not DBIC directly. It also made it very simple to add a Redis layer that caches the entire modelled entity, with data from multiple tables, as a single serialised blob.</p>
<p>I&#8217;m sure you may be able to extend DBIC to do this. In my experience you can extend DBIC to do almost everything I can think of. But I found moving my Model to Moose (and the Moo) classes, that use DBIC for storage, much simpler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Rabbitson</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7699</link>
		<dc:creator>Peter Rabbitson</dc:creator>
		<pubDate>Fri, 15 Mar 2013 13:06:01 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7699</guid>
		<description><![CDATA[I wouldn&#039;t go as far as John. The criticism of Pedro Melo is *somewhat* fair. Why do I say somewhat? Because if one views DBIx::Class::Row as *the* thing you *have* to use then I would totally say &quot;Yes, the current design is absolute crap&quot;.

However one needs to realize that DBIx::Class::Row is (and always was intended as) A REFERENCE IMPLEMENTATION. Note how your result classes all have &#039;use bas &quot;DBIx::Class::Core&#039; on top - DBIC does not mandate this in any way. All it cares about is that your result class provides an inflate_result() method which ResultSet-&gt;next/all will call when it is about to return you results. *everything else* is entirely up to you. You can implement your own update/delete by calling $schema-&gt;storage-&gt;update/delete directly. You can implement your own insert(). You can *reuse* the DBIx::Class::Row logic by holding a delegate instance in your own class structure. The possibilities are endless.

The point is - you can not complain that the reference implementation does not follow your idea of an API, when the reference implementation is there *precisely* to show you how to write another set of models on top of the Schema/Storage/Resultset machinery of DBIC.

Cheers]]></description>
		<content:encoded><![CDATA[<p>I wouldn&#8217;t go as far as John. The criticism of Pedro Melo is *somewhat* fair. Why do I say somewhat? Because if one views DBIx::Class::Row as *the* thing you *have* to use then I would totally say &#8220;Yes, the current design is absolute crap&#8221;.</p>
<p>However one needs to realize that DBIx::Class::Row is (and always was intended as) A REFERENCE IMPLEMENTATION. Note how your result classes all have &#8216;use bas &#8220;DBIx::Class::Core&#8217; on top &#8211; DBIC does not mandate this in any way. All it cares about is that your result class provides an inflate_result() method which ResultSet-&gt;next/all will call when it is about to return you results. *everything else* is entirely up to you. You can implement your own update/delete by calling $schema-&gt;storage-&gt;update/delete directly. You can implement your own insert(). You can *reuse* the DBIx::Class::Row logic by holding a delegate instance in your own class structure. The possibilities are endless.</p>
<p>The point is &#8211; you can not complain that the reference implementation does not follow your idea of an API, when the reference implementation is there *precisely* to show you how to write another set of models on top of the Schema/Storage/Resultset machinery of DBIC.</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7697</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 15 Mar 2013 11:46:19 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7697</guid>
		<description><![CDATA[Well, maybe you guys should just use NoSQL databases then! Wondering what you are still doing in this thread ;)]]></description>
		<content:encoded><![CDATA[<p>Well, maybe you guys should just use NoSQL databases then! Wondering what you are still doing in this thread <img src='http://perlhacks.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro Melo</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7696</link>
		<dc:creator>Pedro Melo</dc:creator>
		<pubDate>Fri, 15 Mar 2013 09:25:03 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7696</guid>
		<description><![CDATA[+1. That&#039;s exactly my view.

I never use DBIC as my model. It&#039;s always used as a tool that my models use to talk to the DB, nothing else.

I never understood DBIC plugins on Web Frameworks exactly because of this..

And yes, in the past I tried DBIC-as-my-model. You can make it work sort-of, but most of the time I spent checking to make sure none of my business methods names wouldn&#039;t clash with the huge amount of methods DBIC adds to your objects.

Bye,]]></description>
		<content:encoded><![CDATA[<p>+1. That&#8217;s exactly my view.</p>
<p>I never use DBIC as my model. It&#8217;s always used as a tool that my models use to talk to the DB, nothing else.</p>
<p>I never understood DBIC plugins on Web Frameworks exactly because of this..</p>
<p>And yes, in the past I tried DBIC-as-my-model. You can make it work sort-of, but most of the time I spent checking to make sure none of my business methods names wouldn&#8217;t clash with the huge amount of methods DBIC adds to your objects.</p>
<p>Bye,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7676</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Mon, 11 Mar 2013 03:48:05 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7676</guid>
		<description><![CDATA[This is view is but one of my issues with DBIC.  The database is NOT my model.  The database is the normalized persistent storage of my model.  Do not make me make my model look like my database.  I argue very much in the opposite direction - some times (most of the time) data is *just* data.]]></description>
		<content:encoded><![CDATA[<p>This is view is but one of my issues with DBIC.  The database is NOT my model.  The database is the normalized persistent storage of my model.  Do not make me make my model look like my database.  I argue very much in the opposite direction &#8211; some times (most of the time) data is *just* data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Rabbitson</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7441</link>
		<dc:creator>Peter Rabbitson</dc:creator>
		<pubDate>Sun, 17 Feb 2013 14:03:48 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7441</guid>
		<description><![CDATA[&lt;i&gt;It is a question of “what will the DBIC devs do about their ORM”.&lt;/i&gt;

Someguy, just in case you are still reading this thread, I was wondering: does this last announcement qualify as &quot;doing something&quot; or...? :)
http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html]]></description>
		<content:encoded><![CDATA[<p><i>It is a question of “what will the DBIC devs do about their ORM”.</i></p>
<p>Someguy, just in case you are still reading this thread, I was wondering: does this last announcement qualify as &#8220;doing something&#8221; or&#8230;? <img src='http://perlhacks.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html" rel="nofollow">http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Rabbitson</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7396</link>
		<dc:creator>Peter Rabbitson</dc:creator>
		<pubDate>Thu, 14 Feb 2013 09:33:08 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7396</guid>
		<description><![CDATA[As promised a long time ago: a faster DBIC http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html]]></description>
		<content:encoded><![CDATA[<p>As promised a long time ago: a faster DBIC <a href="http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html" rel="nofollow">http://lists.scsys.co.uk/pipermail/dbix-class/2013-February/011109.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ro</title>
		<link>http://perlhacks.com/2012/10/dbic-vs-dbi/#comment-7390</link>
		<dc:creator>Ro</dc:creator>
		<pubDate>Wed, 13 Feb 2013 18:34:03 +0000</pubDate>
		<guid isPermaLink="false">http://perlhacks.com/?p=498#comment-7390</guid>
		<description><![CDATA[I&#039;m sorry, but I highly doubt that anyone chooses DBIC because they&#039;re &quot;weak at SQL&quot;.

I would take this guy&#039;s exaggerations with a grain of salt...]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m sorry, but I highly doubt that anyone chooses DBIC because they&#8217;re &#8220;weak at SQL&#8221;.</p>
<p>I would take this guy&#8217;s exaggerations with a grain of salt&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.348 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-03-25 23:36:27 -->

<!-- Compression = gzip -->