feat: validate entity and event aggregate_id
value and type
#80
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.
Why
Eventsimple requires both event and entity to specify entity column used as
aggregate_id
in the event. This provides flexibility to use different attribute than primary key to connect event to the entity class.It's possible to accidentally set different value for this attribute. This does not break Eventsimple behaviour, but it introduces unpredictable behaviour when reading event history.
It's also possible to accidentally set different type on
event.aggregate_id
column that does not support entity aggregate value type. This breaks Eventsimple behaviour as events cannot be inserted into database.What changed
We added validation that
aggregate_id
argument value and column type matches between event and entity.