From c6016ff697d0a9cd821b4bfaaf743b98c2677f90 Mon Sep 17 00:00:00 2001 From: "mkanat%kerio.com" <> Date: Sun, 25 Dec 2005 21:27:25 +0000 Subject: Bug 307662: checksetup.pl fails at some line (Unknown column 'grant_type' or similar error) when upgrading from 2.18 or below to 2.20 Patch By Max Kanat-Alexander r=justdave, a=justdave --- Bugzilla/DB/Mysql.pm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'Bugzilla/DB') diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm index c006e5fd0..e2e0e840f 100644 --- a/Bugzilla/DB/Mysql.pm +++ b/Bugzilla/DB/Mysql.pm @@ -298,6 +298,27 @@ sub bz_setup_database { ($self->bz_index_info_real('bugs', 'assigned_to') || $self->bz_index_info_real('flags', 'flags_bidattid_idx')) ) { + + # This is a check unrelated to the indexes, to see if people are + # upgrading from 2.18 or below, but somehow have a bz_schema table + # already. This only happens if they have done a mysqldump into + # a database without doing a DROP DATABASE first. + # We just do the check here since this check is a reliable way + # of telling that we are upgrading from a version pre-2.20. + if (grep($_ eq 'bz_schema', $self->bz_table_list_real())) { + die("\nYou are upgrading from a version before 2.20, but the" + . " bz_schema\ntable already exists. This means that you" + . " restored a mysqldump into\nthe Bugzilla database without" + . " first dropping the already-existing\nBugzilla database," + . " at some point. Whenever you restore a Bugzilla\ndatabase" + . " backup, you must always drop the entire database first.\n\n" + . "Please drop your Bugzilla database and restore it from a" + . " backup that\ndoes not contain the bz_schema table. If for" + . " some reason you cannot\ndo this, you can connect to your" + . " MySQL database and drop the bz_schema\ntable, as a last" + . " resort.\n"); + } + my $bug_count = $self->selectrow_array("SELECT COUNT(*) FROM bugs"); # We estimate one minute for each 3000 bugs, plus 3 minutes just # to handle basic MySQL stuff. -- cgit v1.2.3-24-g4f1b