Another reason I hate MySQL or Django or something

Feb 05, 2009 17:12

Okay, so this isn't really MySQL's fault. It's a Django problem. Way back in the day this application that I'm maintaining was written in Django 0.95. I've managed to port the forms and models across to Django 1.0-ish. I've included South so we can do database schema migration (and in fact part of the first batch of fixes was to improve performance by modifying the database), and everything was sweet.

I was having fun, setting up virtual machines in VMWare, building myself a copy of the soon-to-be-production server from Debian Etch (the current system is running on Debian Sarge). And off I went, building my own migration procedure, documenting everything in Trac, tracking changes in Subversion, using git locally to track the multiple tickets I was working on. Life was good.

But then I finally migrated the code out to the production server to realise there was one variable I'd neglected. The version of MySQL installed on the Sarge server was 4.1.11. The version of MySQL I'd been working with was 5.0.32. Somewhere along the line the Django folks decided to tighten up the validation of models. Suddenly all the applications that were under this Django project wouldn't even validate - I couldn't "syncdb" anymore because all the text fields were defined as being 1024 characters or more, and all that Django will allow me to use is 255 characters (but being MySQL, I'm sure they mean octets).

So here I am with my email saying, "Ladies and Gentlemen, I present to you version X of the application which is faster, stronger, better than ever before!". And I can't click send, because I forgot yet another variable in the great big equation of "will it work?"

Right now, I'm wondering "will it blend?"

rant, mysql, django, debian

Previous post Next post
Up