{"repo":"KuliginStepan/mongration","free":true,"listed":false,"github":"https://github.com/KuliginStepan/mongration","clone":"git clone https://github.com/KuliginStepan/mongration.git","description":"MongoDB data migration tool for Spring Boot projects","language":"Java","stars":26,"topics":["migration-tool","mongodb","spring-boot","spring","spring-data-mongodb","migration"],"license":"Apache-2.0","category":"data-pipelines","readme_excerpt":"Mongration MongoDB data migration tool for Spring Boot projects Key features Support Spring Boot lifecycle Changelogs are regular spring beans Support MongoDB transactions Support ReactiveMongoTemplate Compatibility Mongration Spring Boot ------------ ------------- 3.x 4.x 2.x 3.x 1.x 2.x Getting started Add a dependency Maven Gradle or Configuration properties mongration.enabled – enable or disable mongration. Default to true mongration.changelogs-collection – collection for saving changesets. Defaults to mongration changelogs mongration.mode – mode for executing changesets. Defaults to AUTO , means that mongration will try to analyze changesets to choose proper mode. Possible modes are IMPERATIVE , REACTIVE Changelog To mark class as a changelog you need to annotate it with @Changelog . This annotation makes class regular spring bean. @Changelog has property id , which is a simple class name by default. Changeset To mark method as a changeset you need to annotate it with @Changeset . By default changeset's id is a method name. Changelog collection has compound unique index @CompoundIndex(def = \"{'changeset': 1, 'changelog': 1}\", unique = true) to check if changeset executed or not. You can inject all beans available in bean factory as a changeset's method arguments. Imperative changeset method must have void return type and reactive changeset method must returns Mono . If you configured MongoDB and Spring to enable transaction support, changesets may be executed in transact","default_branch":null,"files":null,"tree":[],"storefront":"/r/KuliginStepan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/KuliginStepan/mongration/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}