DBIx::Class::Schema::Loader::DBI::MSSQL - DBIx::Class::Schema::Loader::DBI MSSQL Implementation.
-=head1 SYNOPSIS
-
- package My::Schema;
- use base qw/DBIx::Class::Schema::Loader/;
-
- __PACKAGE__->loader_options( debug => 1 );
-
- 1;
-
=head1 DESCRIPTION
-See L<DBIx::Class::Schema::Loader::Base>.
+Base driver for Microsoft SQL Server, used by
+L<DBIx::Class::Schema::Loader::DBI::Sybase::Microsoft_SQL_Server> for support
+via L<DBD::Sybase> and
+L<DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server> for support via
+L<DBD::ODBC>.
+
+See L<DBIx::Class::Schema::Loader> and L<DBIx::Class::Schema::Loader::Base> for
+usage information.
=cut
-sub _setup {
+sub _tables_list {
my $self = shift;
- $self->next::method(@_);
- $self->{db_schema} ||= $self->_build_db_schema;
- $self->_set_quote_char_and_name_sep;
+ my $dbh = $self->schema->storage->dbh;
+ my $sth = $dbh->prepare(<<'EOF');
+select t.table_name
+from information_schema.tables t
+where t.table_schema = ?
+EOF
+ $sth->execute($self->db_schema);
+
+ my @tables = map lc $_, map @$_, @{ $sth->fetchall_arrayref };
+
+ return $self->_filter_tables(@tables);
}
sub _table_pk_info {
}
sub _extra_column_info {
- my ($self, $info) = @_;
+ my ($self, $table, $column, $info, $dbi_info) = @_;
my %extra_info;
- my ($table, $column) = @$info{qw/TABLE_NAME COLUMN_NAME/};
-
my $dbh = $self->schema->storage->dbh;
my $sth = $dbh->prepare(qq{
SELECT COLUMN_NAME
=head1 SEE ALSO
+L<DBIx::Class::Schema::Loader::DBI::Sybase::Microsoft_SQL_Server>,
+L<DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server>,
L<DBIx::Class::Schema::Loader>, L<DBIx::Class::Schema::Loader::Base>,
L<DBIx::Class::Schema::Loader::DBI>