Zero downtime database migrator, this project is for Scala programmer to be able to implement migration easier
- MongoDB
- Collection name must be configurable
- New service version should be configurable on operate on both collection on only new collection (Multistep deployment)
- For safety, this migration will create new collection, and new service version should work on new collection.
- New version of service must operate on previous version's schema, and must be able to make side effect on both collections (This make previous version of service able to operate with old schema in the same time)
- This migration script can run during new version of service is operating
- Step 0: Service A operate on schemas a
- Step 1: Init new schema on collection b
- Step 2: Running Service version B (Which can run on both collection configuration) on initialized schema
- Step 3: Run migration script
- Step 4: Run Service version B (Which run only new migrated collection)
- Step 5: [Optional] Back up collection a
Test PR