use strict;
use warnings;
+use base 'DBIx::Class::Schema::Loader::DBI';
use Carp::Clan qw/^DBIx::Class/;
-use Class::C3;
+use mro 'c3';
-our $VERSION = '0.04999_10';
+our $VERSION = '0.07002';
=head1 NAME
-DBIx::Class::Schema::Loader::DBI::Sybase::Common - Common functions for Sybase
+DBIx::Class::Schema::Loader::DBI::Sybase::Common - Common methods for Sybase
and MSSQL
=head1 DESCRIPTION
-See L<DBIx::Class::Schema::Loader::Base>.
+See L<DBIx::Class::Schema::Loader> and L<DBIx::Class::Schema::Loader::Base>.
=cut
sub _build_quoter { '"' }
sub _build_namesep { '.' }
-sub _set_quote_char_and_name_sep {
+sub _setup {
my $self = shift;
- $self->schema->storage->sql_maker->quote_char([qw/[ ]/])
- unless $self->schema->storage->sql_maker->quote_char;
+ $self->next::method(@_);
- $self->schema->storage->sql_maker->name_sep('.')
- unless $self->schema->storage->sql_maker->name_sep;
+ $self->schema->storage->sql_maker->quote_char([qw/[ ]/]);
+ $self->schema->storage->sql_maker->name_sep('.');
+ $self->{db_schema} ||= $self->_build_db_schema;
}
sub _build_db_schema {
return $db_schema;
}
+# remove 'IDENTITY' from column data_type
+sub _columns_info_for {
+ my $self = shift;
+ my $result = $self->next::method(@_);
+
+ foreach my $col (keys %$result) {
+ $result->{$col}->{data_type} =~ s/\s* identity \s*//ix;
+ }
+
+ return $result;
+}
+
=head1 SEE ALSO
L<DBIx::Class::Schema::Loader::DBI::Sybase>,
L<DBIx::Class::Schema::Loader::DBI::MSSQL>,
+L<DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server>,
+L<DBIx::Class::Schema::Loader::DBI::Sybase::Microsoft_SQL_Server>,
L<DBIx::Class::Schema::Loader::DBI>
L<DBIx::Class::Schema::Loader>, L<DBIx::Class::Schema::Loader::Base>,
=head1 AUTHOR
-See L<DBIx::Class::Schema::Loader/CONTRIBUTORS>.
+See L<DBIx::Class::Schema::Loader/AUTHOR> and L<DBIx::Class::Schema::Loader/CONTRIBUTORS>.
=head1 LICENSE