X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2Fmysql.pm;h=9def6e3d9253ced72df90c7917960789228f43d8;hb=1bcb47d3c20055e9c5d9fe522b3ddd1a7f1bbec9;hp=62883a90c21697aba330aa1b2a998baa9479f911;hpb=3fe9c5d92b3872c146c93f99b77aa330bffe04ef;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm b/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm index 62883a9..9def6e3 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/mysql.pm @@ -6,7 +6,7 @@ use base 'DBIx::Class::Schema::Loader::DBI'; use Carp::Clan qw/^DBIx::Class/; use Class::C3; -our $VERSION = '0.03999_02'; +our $VERSION = '0.04999_08'; =head1 NAME @@ -121,6 +121,29 @@ sub _table_uniq_info { return \@uniqs; } +sub _extra_column_info { + no warnings 'uninitialized'; + my ($self, $info) = @_; + my %extra_info; + + if ($info->{mysql_is_auto_increment}) { + $extra_info{is_auto_increment} = 1 + } + if ($info->{mysql_type_name} =~ /\bunsigned\b/i) { + $extra_info{extra}{unsigned} = 1; + } + if ($info->{mysql_values}) { + $extra_info{extra}{list} = $info->{mysql_values}; + } +# XXX we need to distinguish between DEFAULT CURRENT_TIMESTAMP and DEFAULT 'foo' +# somehow, but DBI column_info doesn't preserve quotes. + if ($info->{COLUMN_DEF} =~ /^CURRENT_TIMESTAMP\z/i) { + $extra_info{default_value} = \'CURRENT_TIMESTAMP'; + } + + return \%extra_info; +} + =head1 SEE ALSO L, L,