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.06001';
+our $VERSION = '0.07018';
=head1 NAME
=cut
# DBD::Sybase doesn't implement get_info properly
-sub _build_quoter { '"' }
-sub _build_namesep { '.' }
+sub _build_quote_char { '[]' }
+sub _build_name_sep { '.' }
sub _setup {
my $self = shift;
$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 {
- my $self = shift;
- my $dbh = $self->schema->storage->dbh;
-
- local $dbh->{FetchHashKeyName} = 'NAME_lc';
-
- my $test_table = "_loader_test_$$";
-
- my $db_schema = 'dbo'; # default
-
- eval {
- $dbh->do("create table $test_table (id integer)");
- my $sth = $dbh->prepare('sp_tables');
- $sth->execute;
- while (my $row = $sth->fetchrow_hashref) {
- next unless $row->{table_name} eq $test_table;
-
- $db_schema = $row->{table_owner};
- last;
- }
- $sth->finish;
- $dbh->do("drop table $test_table");
- };
- my $exception = $@;
- eval { $dbh->do("drop table $test_table") };
- carp "Could not determine db_schema, defaulting to $db_schema : $exception"
- if $exception;
-
- return $db_schema;
}
# remove 'IDENTITY' from column data_type