| 3 |
# $Id$ |
# $Id$ |
| 4 |
# |
# |
| 5 |
# $Log$ |
# $Log$ |
| 6 |
|
# Revision 1.11 2002/12/19 16:31:05 joko |
| 7 |
|
# + sub dropDb |
| 8 |
|
# + sub rebuildDb |
| 9 |
|
# |
| 10 |
# Revision 1.10 2002/12/15 02:02:22 joko |
# Revision 1.10 2002/12/15 02:02:22 joko |
| 11 |
# + fixed logging-message |
# + fixed logging-message |
| 12 |
# |
# |
| 266 |
return $self->{_COREHANDLE}; |
return $self->{_COREHANDLE}; |
| 267 |
} |
} |
| 268 |
|
|
| 269 |
|
sub dropDb { |
| 270 |
|
my $self = shift; |
| 271 |
|
my $dsn = $self->{locator}->{dbi}->{dsn}; |
| 272 |
|
|
| 273 |
|
$logger->debug( __PACKAGE__ . "->dropDb( dsn $dsn )" ); |
| 274 |
|
|
| 275 |
|
$dsn =~ s/database=(.+?);//; |
| 276 |
|
my $database_name = $1; |
| 277 |
|
|
| 278 |
|
my $ok; |
| 279 |
|
|
| 280 |
|
if ( my $dbh = DBI->connect($dsn, '', '', { |
| 281 |
|
PrintError => 0, |
| 282 |
|
} ) ) { |
| 283 |
|
if ($database_name) { |
| 284 |
|
if ($dbh->do("DROP DATABASE $database_name;")) { |
| 285 |
|
$ok = 1; |
| 286 |
|
} |
| 287 |
|
} |
| 288 |
|
|
| 289 |
|
$dbh->disconnect(); |
| 290 |
|
|
| 291 |
|
} |
| 292 |
|
|
| 293 |
|
return $ok; |
| 294 |
|
} |
| 295 |
|
|
| 296 |
|
sub rebuildDb { |
| 297 |
|
my $self = shift; |
| 298 |
|
$logger->info( __PACKAGE__ . "->rebuildDb()" ); |
| 299 |
|
my @results; |
| 300 |
|
|
| 301 |
|
# sum up results (bool (0/1)) in array |
| 302 |
|
#push @results, $self->retreatSchema(); |
| 303 |
|
push @results, $self->dropDb(); |
| 304 |
|
push @results, $self->createDb(); |
| 305 |
|
#push @results, $self->deploySchema(); |
| 306 |
|
|
| 307 |
|
# scan array for "bad ones" |
| 308 |
|
my $res = 1; |
| 309 |
|
map { |
| 310 |
|
$res = 0 if (!$_); |
| 311 |
|
} @results; |
| 312 |
|
|
| 313 |
|
return $res; |
| 314 |
|
} |
| 315 |
|
|
| 316 |
1; |
1; |