any particular reason you need to override the rails default primary key of id?

do you need to index on level_source_hints.hint_id?

should the message field be text (ie blob) or string? is there a maximum length for the message?