How Do You Upgrade Movable Type? »
Neil has apparently turned the corner with his second upgrade of the 3.2 beta. The first didn't go quite so well. This is a conversation that pops up all over the place when this sort of thing comes up. Invariably there are problems and everyone is scrambling to get back to where they were. With Movable Type, I don't understand.
This is because of the easy configuration of the product. All you need is a little extra space on your account, an extra MySQL database and a text editor.
When I get a new upgrade, even one that is a tiny upgrade that's said not to need any major changes, I take that upgrade and compare the files to the ones from the currently running version. Typically this means updating the mt-db-pass.cgi with the correct password, making some configuration directive changes to mt.cfg, copying any plugins, hacks and extra files, and then uploading this new installation into a separate directory.
This serves two purposes. The first, and easily the most important, is that it means that my working software is not overwritten. The second, only slightly less important, is that it has the effect of changing the location of my comments and trackback scripts. So any automated tools looking for them won't be able to find them after I remove execute permissions from the old versions.
If you don't have multiple database capability, you can then do a backup of your current database and restore it if you need to. Or get a host that allows for multiple databases. I moved a customer from his existing host to a new one the other day and it took all of an hour for the actual move. We did have some dependency issues (with Image::Magick) to work out, but the piece of publishing that represents - the creation of thumbnails - is pretty small. The main functionality and the working site were done almost immediately.
The cost of a hosting plan that allows multiple databases is nothing. Check out Site5 if you don't believe me. For $6.95 a month (paid yearly), you get 3GB of storage, 50GB of bandwidth and unlimited MySQL databases - along with the best support in the industry and a whole slew of other features. It just isn't worth it to stay somewhere that limits you to one database.
Once you have the capability of multiple databases, create a second one, and copy the contents of your existing database to it. Then point your mt.cfg file to this new database location and upload it to the server. Make sure you have execute permissions on the necessary files, and you're done once you rebuild. In the case of 3.2, mt-upgrade.cgi runs and you get a newly upgraded database, in a completely separate location. If you have any problems you can go back to the prior one in no time flat. It only takes a login to the old system and a rebuild, because you didn't change - or remove - anything from that system.
If this all sounds great, but you don't know if you can handle it yourself, keep in mind that we do offer Movable Type Consulting, and this includes not only programming work, but things like installations and upgrades. We can even help compare your old installation to your new one, so that you don't miss anything.




















