A month or so ago, I was in need of a Node-based utility to deploy changes or data migrations of my Mongo DB database. I work in an industry that has high compliance needs, so it wasn’t appropriate for us to do manual scripting of changes. And logging onto our production Mongo was out of the question.
I started by using a project called Migrate-Mongo, but because we use AWS and I needed to retrieve configuration dynamically, I had to add some async configuration functionality and a pull request was accepted.
Next, I needed a way to run scripts that I wanted to happen idempotently with every release. I added support for scripts that were run before and after every release (like ensuring indexes). This PR added some significant complexity and was also a significant rewrite, but I added a ton of tests and made sure that coverage was at 100%.
Understandably, the Migrate-Mongo owner didn’t want to incorporate such a large change to the original project. But that’s the great thing about OSS, I just created Mongo-Up to make this great functionality to all of you great peeps!
Check it out, use it, improve it!