Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MongoDB Support Upgrades #114

Open
QuinnBast opened this issue Feb 12, 2023 · 0 comments
Open

MongoDB Support Upgrades #114

QuinnBast opened this issue Feb 12, 2023 · 0 comments
Assignees
Labels
bug Something isn't working Server Server related work

Comments

@QuinnBast
Copy link
Contributor

When the MongoDB schema changes, we need to take upgrades into consideration.

There are a few scenarios:

  • Add a new variable
  • Remove a variable
  • Rename a variable
  • Change type of a variable
  • An underlying object for a variable is changed

See this document for more.

Removed members

We need to update our Mongo serializer to support extra elements and ignore extra elements for information on how to deal with the serializer exceptions on missing or extra field mappings.

Renamed

When a member has been renamed, it will exist in old documents with the old name and in new documents with the new name. The way to handle incremental upgrades for this rename would be to implement an ExtraElements member in conjunction with ISupportInitialize.

Type of member is changed

If the .NET type is compatible with the old type (an integer is changed to a double), then everything will continue to work. Otherwise, a custom serializer or a migration script will be required.

Investigate these changes, and, if possible, find a way to determine if we need to apply these in a CI pipeline so that updates get caught.

@QuinnBast QuinnBast added bug Something isn't working Server Server related work labels Feb 12, 2023
@QuinnBast QuinnBast self-assigned this Feb 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Server Server related work
Projects
None yet
Development

No branches or pull requests

1 participant