Fix issue updating models with foreign key constraints #1988
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make sure these boxes checked before submitting your pull request.
For significant changes like big bug fixes, new features, please open an issue to make an agreement on an implementation design/plan first before starting it.
What did this pull request do?
We found an issue where Gorm was trying to write the zero value of a has_one foreign key into the table and when using actual database foreign keys, the value
0
was invalid. This pull request adds a check in theupdateCallback
to ensure the field being update is not a blank foreign key with a default value. In our case the has_one relationship has a default value of null in the event that the model does not have the child yet.All gorm tests pass and this makes it safe to use foreign keys with a default value of null.