<p>I'm adding a boolean column to an existing table and creating a different table with a boolean column:</p>
<div class="highlight highlight-source-perl"><pre> <span class="pl-s"><span class="pl-pds">"</span>flagged_for_deletion<span class="pl-pds">"</span></span>,
{ <span class="pl-c1">data_type</span> <span class="pl-k">=></span> <span class="pl-s"><span class="pl-pds">"</span>boolean<span class="pl-pds">"</span></span>,
<span class="pl-c1">is_nullable</span> <span class="pl-k">=></span> 0,
<span class="pl-c1">default_value</span> <span class="pl-k">=></span> 0,
},</pre></div>
<p>and generating the DDL via DBIx::Class:</p>
<div class="highlight highlight-source-perl"><pre><span class="pl-smi">$schema</span><span class="pl-k">-></span>create_ddl_dir( [<span class="pl-s"><span class="pl-pds">'</span>MySQL<span class="pl-pds">'</span></span>], <span class="pl-c1">undef</span>, <span class="pl-s"><span class="pl-pds">'</span>./sql/ddl<span class="pl-pds">'</span></span>, <span class="pl-smi">$opt</span><span class="pl-k">-></span>pre_version,
{ <span class="pl-c1">producer_args</span> <span class="pl-k">=></span> { <span class="pl-c1">mysql_version</span> <span class="pl-k">=></span> 5 } });</pre></div>
<p>The full schema is correctly generated, both tables have "flagged_for_deletion boolean NOT NULL DEFAULT '0'" which is exactly what I expected. The diff however:</p>
<div class="highlight highlight-source-sql"><pre><span class="pl-k">CREATE</span> <span class="pl-k">TABLE</span> `<span class="pl-en">created</span>` (
<span class="pl-c">-- snip</span>
<span class="pl-s"><span class="pl-pds">`</span>flagged_for_deletion<span class="pl-pds">`</span></span> enum(<span class="pl-s"><span class="pl-pds">'</span>0<span class="pl-pds">'</span></span>,<span class="pl-s"><span class="pl-pds">'</span>1<span class="pl-pds">'</span></span>) <span class="pl-k">NOT NULL</span> DEFAULT <span class="pl-s"><span class="pl-pds">'</span>0<span class="pl-pds">'</span></span>,
<span class="pl-c">-- snip</span>
) ENGINE<span class="pl-k">=</span>InnoDB DEFAULT CHARACTER <span class="pl-k">SET</span> utf8;
<span class="pl-k">ALTER</span> <span class="pl-k">TABLE</span> altered <span class="pl-c">-- snip</span>
ADD COLUMN flagged_for_deletion <span class="pl-k">boolean</span> <span class="pl-k">NOT NULL</span> DEFAULT <span class="pl-s"><span class="pl-pds">'</span>0<span class="pl-pds">'</span></span>,
<span class="pl-c">-- snip</span></pre></div>
<p>The CREATE TABLE statement has the backtick quoting (that the full schema doesn't have) and uses MySQL 3-style boolean emulation with enums. From all the way over here it looks like it's been generated by a different producer with different options, so it might be a DBIC issue instead?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly or <a href="https://github.com/dbsrgits/sql-translator/issues/81">view it on GitHub</a><img alt="" height="1" src="https://github.com/notifications/beacon/AASeAq9NovJXzCyJN5IyCIkCKwLZj_crks5pypjJgaJpZM4H74_s.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/dbsrgits/sql-translator/issues/81"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>