Added extra check to make sure we don't override default row values.
And to leave them intact.
Moved to context and added an extra check to make sure we don't update non-existing data. MySQL doesn't like it.