my $class = shift;
my @tables = $class->tables;
my $dbh = $class->storage->dbh;
- my $dsn = $class->_loader_data->{datasource}[0];
+ my $dsn = $class->storage->connect_info->[0];
my %conn =
$dsn =~ m/\Adbi:\w+(?:\(.*?\))?:(.+)\z/i
&& index( $1, '=' ) >= 0
my $dbname = $conn{database} || $conn{dbname} || $conn{db};
die("Can't figure out the table name automatically.") if !$dbname;
- my $quoter = $dbh->get_info(29);
+ my $quoter = $dbh->get_info(29) || q{`};
foreach my $table (@tables) {
my $query = "SHOW CREATE TABLE ${dbname}.${table}";
$sth->execute;
my $table_def = $sth->fetchrow_arrayref->[1] || '';
- my (@reldata) = ($table_def =~ /CONSTRAINT `.*` FOREIGN KEY \(`(.*)`\) REFERENCES `(.*)` \(`(.*)`\)/g);
+ my (@reldata) = ($table_def =~ /CONSTRAINT `.*` FOREIGN KEY \(`(.*)`\) REFERENCES `(.*)` \(`(.*)`\)/ig);
while (scalar @reldata > 0) {
my $cols = shift @reldata;
$cond->{$f_cols[$i]} = $cols[$i];
}
- eval { $class->_loader_make_relations( $table, $f_table, $cond) };
+ eval { $class->_loader_make_cond_rel( $table, $f_table, $cond) };
warn qq/\# belongs_to_many failed "$@"\n\n/ if $@ && $class->_loader_debug;
}
my $class = shift;
my $dbh = $class->storage->dbh;
my @tables;
+ my $quoter = $dbh->get_info(29) || q{`};
foreach my $table ( $dbh->tables ) {
- my $quoter = $dbh->get_info(29);
- $table =~ s/$quoter//g if ($quoter);
+ $table =~ s/$quoter//g;
push @tables, $1
if $table =~ /\A(\w+)\z/;
}