Closed josdeweger closed 2 years ago
Absolutely go for it - it's great to be able to publicly reference what you are doing when asking questions of the Cosmos team too, as I often do re https://github.com/jet/equinox/tree/master/src/Equinox.CosmosStore etc
Whether or not you get contributors is of course a hit and miss thing - the massive majority will always be people who silently use things. You'll regularly wonder, why am I doing the extra legwork of doing it in public. But over time you'll be glad you did, regardless of that. Sticking it out in a public repo is a good reasoning tool - it can help you figure out the right way to do something in a cleaner fashion than some expedient hack you might do in another context; over time, that yields better solutions and teaches you things.
Thanks for your very constructive answer @bartelink, much appreciated!
@josdeweger I guess whether or not open sourcing the library or if it will be useful will be up to your user base.
The only thing we can share in this repo is that open sourcing will obviously bring you benefits, but you have to define clear expectations on support and how are you going to handle the load when people start to create Issues on your repository.
Maybe the conversation would be more beneficial for you if you had it on the Fluent Migrator repo? Not sure what is your expectation when creating the Issue on this one :)
Hi @ealsur , appreciate the answer/feedback. This was the first repo that came to mind where I might find a target audience that could indicate whether this is interesting for them (or not). I opened an issue in the Fluent Migrator repo as well: https://github.com/fluentmigrator/fluentmigrator/discussions/1608. If you feel this issue should not be in this repo, of course feel free to close it. Otherwise it might be nice to wait for a bit, it would be great to get more feedback from the community!
I don't mind. Just that normally this section (Issues) gets mostly used by users experiencing problems with the SDK, but if you believe your target audience might be here I'm fine with leaving it open for a bit.
Closing as out of the scope of this repo and had no activity in more than 20 days.
FYI: created a public repo for this initiative: https://github.com/josdeweger/CosmosDb.Migrator
At a client we are currently working on a CosmosDb Migration Runner inspired by Fluent Migrator, since Fluent Migrator does not support NoSql databases. The language is c#, the Target Framework netstandard2.0. Very early stages, not properly battle tested yet. The basic idea is that per collection / document type combination you can migrate documents up to a newer version and down to an older version, as well as renaming collections (which is basically creating a new collection, transferring all the documents, and deleting the old one, since renaming a collection doesn't really exist in CosmosDb). We might introduce transferring documents by document type between collections in the near future as well. All this is achieved by writing migrations as c# classes.
This library brings us the following benefits:
As we are building this, we were wondering if this might be a useful library to open source. Would developers be interested in using this? Since it is very generic functionality, we see no downside in sharing it with the community. For us it's a great way to get feedback and contributions. Looking forward to your feedback!