I have begun modifying ClockingIT to run on PostgreSQL. My changes should also be compatible with MySQL but I don't have a installation to check on. I am running this in production and will continue to commit changes as I find bugs.
I've been meaning to move to PostgreSQL for quite a while, and think it's mostly working. app/models/transcript.rb does have to be changed a bit, though. Not sure how to do that so it works on both MySQL and PostgreSQL, as that involves some date munging functions.
Booleans are handled differently in PostgreSQL. In MySQL they are 0 or 1, PostgreSQL they are true or false. You can handle both by doing ['table.boolean_attribute = ?', true] or similar instead of embeding 1 in the statement.
PostgreSQL does not like out of bound dates. MySQL doenst mind you using the 31st of November in a query where as PostgreSQL would throw an error
I haven't noticed anything in the transcript model yet (I am only fixing things as I get 500 errors), but I will have a look at it at some stage.
Also, how do you run the apps unit tests? I was having issues with the ferret daemon holding the database open while the test rake task was trying to delete it, however if i didn't have the daemon running the tests would error out.
./script/ferret_server -e test start rake RAILS_ENV=test
I see I've got one failed unit test at the moment, but that should be easy to fix. I've never had the ferret server block the database or something like that. (I've got a port to Sphinx in a branch here, but am a bit reluctant to push it out as it would break just about everything for everyone unless they install both a new gem and a separate program)
I try to add test from time to time, but I haven't really gotten into the whole tdd/bdd thingie yet. I do want to, though, so any tests contributed would be welcome. ;-)