summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Install/Filesystem.pm17
1 files changed, 8 insertions, 9 deletions
diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm
index bbad2c467..feb150220 100644
--- a/Bugzilla/Install/Filesystem.pm
+++ b/Bugzilla/Install/Filesystem.pm
@@ -787,22 +787,21 @@ sub _update_old_charts {
# to product IDs.
sub _update_old_mining_filenames {
my ($miningdir) = @_;
+ my $dbh = Bugzilla->dbh;
my @conversion_errors;
- require Bugzilla::Product;
-
# We use a dummy product instance with ID 0, representing all products
my $product_all = {id => 0, name => '-All-'};
- bless($product_all, 'Bugzilla::Product');
print "Updating old charting data file names...";
- my @products = Bugzilla::Product->get_all();
+ my @products = @{ $dbh->selectall_arrayref('SELECT id, name FROM products
+ ORDER BY name', {Slice=>{}}) };
push(@products, $product_all);
foreach my $product (@products) {
- if (-e File::Spec->catfile($miningdir, $product->id)) {
+ if (-e File::Spec->catfile($miningdir, $product->{id})) {
push(@conversion_errors,
{ product => $product,
- message => 'A file named "' . $product->id .
+ message => 'A file named "' . $product->{id} .
'" already exists.' });
}
}
@@ -810,8 +809,8 @@ sub _update_old_mining_filenames {
if (! @conversion_errors) {
# Renaming mining files should work now without a hitch.
foreach my $product (@products) {
- if (! rename(File::Spec->catfile($miningdir, $product->name),
- File::Spec->catfile($miningdir, $product->id))) {
+ if (! rename(File::Spec->catfile($miningdir, $product->{name}),
+ File::Spec->catfile($miningdir, $product->{id}))) {
push(@conversion_errors,
{ product => $product,
message => $! });
@@ -827,7 +826,7 @@ sub _update_old_mining_filenames {
print " FAILED:\n";
foreach my $error (@conversion_errors) {
printf "Cannot rename charting data file for product %d (%s): %s\n",
- $error->{product}->id, $error->{product}->name,
+ $error->{product}->{id}, $error->{product}->{name},
$error->{message};
}
print "You need to empty the \"$miningdir\" directory, then run\n",