sometimes (*sigh*) the ActiveRecord::StatementInvalid exception doesn't contain an 'original_exception' method. this commit provides a fallback, which uses the class name to do a string comparison on the exception message (*SIGH*)