X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FBase.pm;h=6895279a9f07a0a9348c1a797b0eb68aa4a7785d;hb=42e785fae547f52e8212d89086eec625dcfdb2bd;hp=e304c7c4b04f391c8c3105c9039fb4b9fd861f2d;hpb=1c4a389d6a924b30fa323659755ffe29baebf3ba;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/Base.pm b/lib/DBIx/Class/Schema/Loader/Base.pm index e304c7c..6895279 100644 --- a/lib/DBIx/Class/Schema/Loader/Base.pm +++ b/lib/DBIx/Class/Schema/Loader/Base.pm @@ -55,6 +55,8 @@ __PACKAGE__->mk_group_ro_accessors('simple', qw/ monikers dynamic naming + datetime_timezone + datetime_locale /); @@ -418,6 +420,16 @@ Example: Add to all columns with type DATE the attribute timezone => "Europe/Berlin". +=head2 datetime_timezone + +Set timezone attribute for L +to all columns with the type DATE. + +=head2 datetime_locale + +Set local attribute for L +to all columns with the type DATE. + =head1 METHODS None of these methods are intended for direct invocation by regular @@ -1607,6 +1619,28 @@ sub _custom_column_info { return {}; } +sub _datetime_column_info { + my ( $self, $info, $column_info) = @_; + # warn "_datetime_column_info XXXXXXXXX"; + # use Data::Dumper; + # warn Dumper $info; + # warn Dumper $column_info; + my $return = {}; + my $type = lc ( $info->{TYPE_NAME} ); + + if ( + ( defined $column_info->{inflate_datetime} and $column_info->{inflate_datetime} ) + or ( defined $column_info->{inflate_date} and $column_info->{inflate_date} ) + or ( $type eq 'date') + or ( $type eq 'datetime') + or ( $type eq 'timestamp') + ){ + $return->{timezone} = $self->datetime_timezone if $self->datetime_timezone; + $return->{locale} = $self->datetime_locale if $self->datetime_locale; + } + return $return; +} + # remove the dump dir from @INC on destruction sub DESTROY { my $self = shift;