Trying to define some of my thoughts on Software Design.
Do not ever use "truncate_only" or "no_log" unless you wish to forget about the whole "database recovering in any point of time".