BrighterCommand / BrighterCommand/Brighter
Extend Database Migrations to NoSQL stores
- Dominant language
- C#
- Stars
- 2.5k
- Forks
- 296
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 21
Description
### No support for NoSQL stores in DB Migration tools
The DB Migration tools in Paramore.Brighter.BoxProvisioning covers SQL stores but not NoSQL stores like DynamoDB and MongoDB. These tend to have different approaches to schema, locking, etc., so they require a different approach.
- Provisioning can use the existing process for a fresh install, but we should harmonize the interface as much as possible
- It may be that if we do not need to alter index properties, and the payload is JSON, the issue is whether the application code can handle earlier versions, our migration code would have to load and re-save previous JSON entries
- If we need to alter indexable properties, it may be beyond us, as it may require a new table and migrating all the existing entries
### References
[Evolve Your Amazon DynamoDb Tables](https://aws.amazon.com/blogs/database/evolve-your-amazon-dynamodb-tables-data-model/)
[Dynamo Data Migrations](https://github.com/technogise/dynamo-data-migrations)
[Can you change DynamoDb schemas?](https://www.youtube.com/watch?v=Zm7saJeRNN4)
Contributor guide
Research direction
Start in Paramore.Brighter.BoxProvisioning and read the existing SQL DB Migration tools to identify the interface and fresh-install provisioning flow. Then compare the migration constraints described for DynamoDB and MongoDB, using the linked references. Done requires an agreed design and implementation scope for NoSQL provisioning and migrations; the issue does not name files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, csharp, mongodb
- Domain
- databases, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100