loop dropdb + support multiple selection
This commit is contained in:
@ -46,17 +46,23 @@ my $dbh = DBI->connect( "DBI:MariaDB:host=$db_host;port=$db_port",
|
|||||||
or die 'Failed to connect to database: ' . $DBI::errstr;
|
or die 'Failed to connect to database: ' . $DBI::errstr;
|
||||||
say 'Connected to database';
|
say 'Connected to database';
|
||||||
|
|
||||||
say 'Existing databases:';
|
while (1) {
|
||||||
my @db_names =
|
say 'Existing databases:';
|
||||||
sort
|
my @db_names =
|
||||||
map { s/DBI:MariaDB://r }
|
sort
|
||||||
grep { !/information_schema|smchurla_ll/ } $dbh->data_sources();
|
map { s/DBI:MariaDB://r }
|
||||||
foreach (@db_names) { say " - $_"; }
|
grep { !/information_schema|smchurla_ll/ } $dbh->data_sources();
|
||||||
|
foreach (@db_names) { say " - $_"; }
|
||||||
|
|
||||||
print 'Enter name to delete: ';
|
print 'Enter single name or comma-separated list to delete: ';
|
||||||
my $db_sel = <STDIN>;
|
my $db_sel = <STDIN>;
|
||||||
chomp $db_sel;
|
chomp $db_sel;
|
||||||
$dbh->do("drop database `$db_sel`")
|
my @selected_dbs = $db_sel eq "all" ? @db_names : split( ',', $db_sel );
|
||||||
or die "Failed to drop database: " . $dbh->errstr;
|
foreach (@selected_dbs) {
|
||||||
|
$dbh->do("drop database `$_`")
|
||||||
|
or die "Failed to drop database: " . $dbh->errstr;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$dbh->disconnect or warn $dbh->errstr;
|
$dbh->disconnect or warn $dbh->errstr;
|
||||||
|
|||||||
Reference in New Issue
Block a user