handle MySQL enums/sets containing elements with single quotes
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / DBI / mysql.pm
index d037e98..cb83e7a 100644 (file)
@@ -184,8 +184,10 @@ EOF
 
             delete $info->{extra}{list};
 
-            while ($column_type =~ /'([^']+)',?/g) {
-                push @{ $info->{extra}{list} }, $1;
+            while ($column_type =~ /'((?:[^']* (?:''|\\')* [^']*)* [^\\'])',?/xg) {
+                my $el = $1;
+                $el =~ s/''/'/g;
+                push @{ $info->{extra}{list} }, $el;
             }
         }