Open
Conversation
Contributor
|
It feels like the solution here is just to run a one-time job that renames the event in your DB if you really need to change the name of a class… |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR introduces a new feature that allows mapping of legacy event types to new event classes. This functionality is crucial for maintaining backwards compatibility when refactoring event classes in long-lived applications.
Usage
You can now map legacy event types to new event classes using the
Verbsfacade:Why This Is Important
When refactoring event classes in a system that stores events in a database, you may encounter issues with deserializing old events. For example:
Without this mapping feature, trying to replay old
UserRegisteredevents would fail because the class no longer exists.With the new mapping feature, you can easily handle such refactoring:
This ensures that old
UserRegisteredevents in the database are correctly deserialized asUserSignedUpevents.