loop dropdb + support multiple selection

This commit is contained in:
2026-04-18 11:36:12 +02:00
parent a287df261c
commit 86e3814fb2

View File

@ -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;