News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

bug in updater

Started by daverj, June 22, 2016, 04:37:54 PM

Previous topic - Next topic

daverj

This is a bug, not in SMF, but in the update tool to go from 1.x to 1.1.21

I know that this is an old version, but you should understand that there are a lot of old installations out there and the first step needed to migrate to a 2.x version is to get the old installation updated to version 1.1.21 before then moving on to version 2. So there are a lot of people out there who still need this final 1.x upgrade.

The bug is in upgrade.php, and happens if you check the checkbox for creating backup tables. The SQL that is created to make those backup tables uses the depricated "TYPE=MyISAM" instead of "ENGINE=MyISAM". All of the other table SQL within the updater has been rewritten to use ENGINE= but not the code to create the backup tables. And since the checkbox for creating the backup tables is unchecked by default, I assume whoever last worked on the code missed it when they tested it.

It's not obvious to somebody not familiar with SQL, as most of your user won't be. So most people won't know what to do when they get the error during upgrading. The PHP code that creates the backup tables doesn't explicitly have "TYPE=MyISAM" in it, like the error screen shows. It has:

TYPE=$engine

which should be replaced with:

ENGINE=$engine

Also, in the update SQL files there is also a timelog/timestamp error that has been mentioned previously in this forum that is specific to newer MySQL versions, which should maybe also be dealt with at the same time.

It's worth keeping this one updater working and up to date to support those people who still have old installations running after all these years and want to finally migrate them over to a newer version of SMF. This is not a request to keep an old version of SMF alive. It's just to keep that one updater working so stragglers can continue to migrate.

Arantor

Or use the patches to go from 1.1.1, say, to 1.1.2 to 1.1.3 etc... Which should probably have been happening as they came out...?

shawnb61

Closing this out, as both 2.0 & 2.1 use ENGINE= nowadays
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Advertisement: