Maps enums to database values before storing in object_changes
#731
+98
−41
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.
Keep consistency between versions with regard to
changes
andobject_changes
and how enum columns store their values.Before,
changes
would map the changed attributes enum columns to the databasevalues (integer values). This allows reifying that version to maintain the
integrity of the enum. It did not do so for
object_changes
and thus,0
for non-json columns, and the enum value for json columns would be stored instead.
For the non-json columns, it mapped any non-integer enum value to
0
becauseduring serialization that column is an
integer
. Now this is fixed,so that
object_changes
stores the enum mapped value.Here is an example: