Migrating Graffiti CMS from VistaDB to SQL Server
I’ve been running this site on Graffiti CMS for a while now. Graffiti seemed like such a good product, it’s a shame Telligent seem have to abandoned it without any communication.
Anyway, after a long hiatus I started to actually use it again, and found every second or third page view would hang or throw errors, comments didn’t get indexed properly and just weird behaviour was being exhibited. Inside the admin control panel, log viewers were showing totally empty as were viewing statistics.
After some investigation it looked as if the VistaDB I was running with may have been the culprit, and looking around it seems like a few other people hit the same limits.
The instructions at Al Pascual’s blog were good. Create a new Graffiti DB inside SQL Server, then use the supplied migration tool to copy the data over. Unfortunately, it appeared that my VistaDB database was corrupt and had some duplicate primary key data in there, causing the whole thing to crash.
Next step was looking into a way to open up the VistaDB file, I went to their site and downloaded a trial. Of course, they are up to version 4 now which won’t play nice with my v3 file. There doesn’t seem to be a way to download older version from their site either. Thankfully I found a version 3 trial at download.com.
The VistaDB tools have a Repair Database function, which seemed to just time out or hang with this database.
I decided to delete the tables most likely to be the culprits, the log table which Graffiti is meant to prune automatically but somehow had over 4 million rows, and the pageview statistics page. Deleting all rows from those tables left the statistics table with 6 rows of all NULL values in it, and the log table still reporting over 4 million rows.
Thankfully though, after these two steps I could repair the database and bring it down to a nice small size.
Once the database was repaired I could run the Graffiti migration tool and move it into a fresh SQL Server database, and push that to my webhost.
So I’m all good now, hopefully I won’t have too many problems. I’ve lost some statistics, but I’m tracking those in Google Analytics anyway.
Lessons learned, don’t keep your data in a format you can’t work with, especially when the vendor is likely to upgrade to an incompatible format and pull their tools out of circulation.
It’s still a shame that Graffiti is abandoned, hopefully the people at Telligent will get it together soon and either follow through on their announcements of future development, or listen to their community forums and open source it. It could be a nice platform and a good developer ecosystem if it looked like it had a future.
Comments
Alistair said on 11.02.2009 at 12:30 AM
I was getting a little worried reading through that you were going to say that you'd lost all of your site! On that note, you are of course being a diligent citizen and backing up your site aren't you?
Damian said on 11.03.2009 at 11:00 PM
I was backing it up as regularly as I was blogging :)