adding db constraints to disallow empty opinion creation