
This past week, I spent a copious amount of time running a test update of some forum software we use at work. The old version that’s still live on the server is version 1.9.1.8. The current release is version 1.9.5.5.
Version numbers aside, there’s a huge difference between the two pieces of software.
The newer version has a far superior user interface. There are several spam filtering tools enabled by default. The update fixes a specific RSS bug that’s been plaguing us for years. And the newer version is better protected against SQL injection attacks.
But to update from the old version to the new version, I have to manually walk the database through incremental updates.
You see, they completely changed user management and database schemas each time a version is released. And not every version is backwards compatible. A direct update from 1.9.1.8 to 1.9.5.5 broke. So I first tried walking the database through version 1.9.3 … but it still broke.
It turns out, the best upgrade path is to update first to version 1.9.4, then to version 1.9.5.5. After that, we’re golden.
The update takes a while, so it’s not the kind of thing I want to do every day. But I’ve been keeping the demo database relatively up-to-date so that our CSR team can make sure all the bells and whistles are in place before I go through and update everyone else.
Today, I decided to refresh the database, since the last time I upgraded a database snapshot was last month. The entire process takes me a little over an hour going back and forth between two different servers and different versions of SQL Server.
And today, I stumbled upon a huge error in the application’s UI: [Read more...]

