January 21, 2008

Four on the Floor

After nearly 4 years I finally upgraded this blog from Movable Type 2.64 to 4.01a. I had been holding out on the upgrade because:

  • The contents of the blog were stored in the original Berkeley DB format
  • Version 4.x no longer supports the Berkeley DB format and instead uses MySQL by default
  • Many changes to the preferences, templates, and plug-ins were made in that time

I finally upgraded because I was getting a lot of comment spam on any entries that I left open for commenting (especially Justin's entry... spam scripts have no shame!) and I was getting sick of spending so much time removing it. The spam filtering in MT 4.x is supposed to be much better.

The upgrade went remarkably smooth considering the large version leap.

  1. First I backed up all of the blog entries, comments, templates and settings manually as suggested by the tutorial on the Learning Movable Type web site.
  2. Rather than using the default MySQL, I chose to use SQLite due to it's simplicity, so I upgraded the Perl environment to include the DBD::SQLite module.
  3. I then cloned the Berkeley DB and upgraded to 3.36 as an intermediate step as recommended by Six Apart. While upgrading the database, I did get an error about an unknown column in the database. I simply reloaded the page as suggested in a Six Apart forum post, and the process finished successfully.
  4. After the DB was updated and everything looked good through the MT 3.36 admin page, I ran the mt-db2sql.cgi script to migrate the data to the SQLite format. Had I realized this script existed and that it transferred everything, not just the blog entries, I probably would have upgraded long ago.
  5. I then upgraded to the latest 4.x version (4.01a). I tested it by republishing The Windeler Net first. Not noticing any problems, I republished this whole blog.

The one quirk I've noticed so far is that after the upgrade, the comment count went from 139 comments to 150. Apparently a few spam and duplicate comments were resurrected during one of the database upgrades. At one point a few years ago the backend database had become corrupt after the machine was power cycled while I was making some changes to the site. I was able to recover the data in the database, but it's entirely possible there was some latent corruption still lingering.

If you notice any problems with the web site, let me know. I would like to take advantage of some of the new functionality in this version eventually. And one of these days when time permits (ha!) I'll get around to updating the look and feel, too.

Posted by Brahm at January 21, 2008 12:15 AM