Prevent NULL value on NOT NULL column when value is an empty string

This patch is a suggestion and is missing a test case.
It might be better to use Model->schema() instead. This will allow anyone who has customized that method to override the default behavior.