Stop using gorm.Model to disable gorm side effects #155
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.
Description
By default gorm.Model includes a number of fields extra fields CreatedAt/UpdatedAt and DeletedAt. Because DeletedAt is present gorm automatically enables soft-delete, which results in gorm not remove the records from the DB upon delete instead it just sets DeletedAt, and then hides them from further queries.
As we are using db.Raw gorm doesn't hide these records and will show deleted records and not deleted records togther. For this reason this commit drops the gorm.Model and replaces it simply with the ID primary key that is a requirement.
Note(sambetts): If we want to add CreatedAt/UpdatedAt fields in the future we should add them to the API model and manage them in the gorm driver, so that they are available to query through odata.
Type of Change
[X] Bug Fix
[ ] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)
Checklist