release 0.07008
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / DBI / Component / QuotedDefault.pm
index f1e8529..9fd895f 100644 (file)
@@ -2,9 +2,9 @@ package DBIx::Class::Schema::Loader::DBI::Component::QuotedDefault;
 
 use strict;
 use warnings;
-use Class::C3;
+use mro 'c3';
 
-our $VERSION = '0.05000';
+our $VERSION = '0.07008';
 
 =head1 NAME
 
@@ -30,11 +30,13 @@ sub _columns_info_for {
             $def =~ s/^\s+//;
             $def =~ s/\s+\z//;
 
-            if ($def =~ /^["'](.*?)['"]\z/) {
+# remove Pg typecasts (e.g. 'foo'::character varying) too
+            if ($def =~ /^["'](.*?)['"](?:::[\w\s]+)?\z/) {
                 $info->{default_value} = $1;
             }
             else {
-                $info->{default_value} = $def =~ /^\d/ ? $def : \$def;
+                # Some DBs (eg. Pg) put brackets around negative number defaults
+                $info->{default_value} = $def =~ /^\(?(-?\d.*?)\)?$/ ? $1 : \$def;
             }
         }
     }