When upgrading from 2.14, I get the following in checksetup: DBD::mysql::st execute failed: Table 'bugs_214.attachstatusdefs' doesn't exist at checksetup.pl line 2166. DBD::mysql::st fetchrow_arrayref failed: fetch() without execute() at checksetup.pl line 2168. The migration code doesn't check for existence of attachstatusdefs?
I reproduced this on landfill using one of the older databases still sitting around on there. Tracked it down to the code that converts products from names to IDs. At the time that was checked in, attachment statuses were still around, so it's converting the product field on the attachment status table to product_id. Patch coming up.
Comment on attachment 152260 [details] [diff] [review] Patch v1 r=joel noting that I cannot test it
Here's how you can test this on landfill: 1) Create a bugzilla install running CVS tip using the site tools and make note of the name of the database it creates for it. 2) $ mysqldrop $dbname 3) $ mysqlclone bugs_bugzilla2_14_branch $dbname 4) $ ./checksetup.pl 5) Verify that the output doesn't contain any errors.
OK, Joel verified in IRC that he could reproduce this and the patch fixed it. Checking in... Checking in checksetup.pl; /cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v <-- checksetup.pl new revision: 1.285; previous revision: 1.284 done