From f5199905679d5e7ba8b305d56f3cb58f9095b557 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Mar 2010 04:09:09 +0000 Subject: [PATCH] mysql: fix reverse-engineering of empty string default --- Changes | 1 + DBSchema/DBD/mysql.pm | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Changes b/Changes index f4d33e1..d64ce74 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,7 @@ Revision history for Perl extension DBIx::DBSchema. - mysql: TEXT->LONGTEXT - mysql: when reverse engineering, transform a default of CURRENT_TIMESTAMP into the more common NOW() + - mysql: fix reverse-engineering of empty string default 0.38 Thu Jan 14 15:26:13 PST 2010 - Bump version number for ->quoted_default availability & default diff --git a/DBSchema/DBD/mysql.pm b/DBSchema/DBD/mysql.pm index 148d215..7f3582f 100644 --- a/DBSchema/DBD/mysql.pm +++ b/DBSchema/DBD/mysql.pm @@ -48,9 +48,13 @@ sub columns { my($type, $length) = ($1, $2); my $default = $_->{'Default'}; - $default = '' unless defined($default); - $default = \0 if $default eq '0'; - $default = \'NOW()' if uc($default) eq 'CURRENT_TIMESTAMP'; + if ( defined($default) ) { + $default = \"''" if $default eq ''; + $default = \0 if $default eq '0'; + $default = \'NOW()' if uc($default) eq 'CURRENT_TIMESTAMP'; + } else { + $default = ''; + } [ $_->{'Field'}, -- 2.11.0