MongoDB的数据迁移工具

时间:2016-08-04 13:26:51

标签: mongodb

我正在为MongoDB寻找数据迁移工具, 类似于Liquibase或Flyway,与Mongo 3.0兼容。

有什么建议吗?

感谢。

6 个答案:

答案 0 :(得分:2)

Mongeez似乎是一个死的项目。您可以尝试使用Mongobee

答案 1 :(得分:1)

我构建了一个快速命令行工具,用于在部署期间更新数据库。

它使用dotnet核心并在windows / linux / macos上运行。

截至目前,它允许导出/导入/删除/删除和评估任何JavaScript。 https://github.com/Socialtalents/SocialTalents.MongoSync/

PS:已经3天了,如果您发现了错误,请告诉我。

答案 2 :(得分:0)

相当古老的问题,但对于寻找答案的其他人来说:

你可以尝试Mongeez(https://github.com/mongeez/mongeez)。仍然是我找到的唯一一个。

答案 3 :(得分:0)

由Mongo的一位咨询工程师开发了一个名为MongoSyphon的强大工具,其中包括连接等,并且具有高度可配置性。

答案 4 :(得分:0)

我在使用MongoDB时使用了 Mongobee ,并且需要类似于flyway的东西。工作和易于配置。

添加Maven依赖

<dependency>
  <groupId>com.github.mongobee</groupId>
  <artifactId>mongobee</artifactId>
</dependency>

您需要在上下文xml文件中为Mongobee创建bean

<bean id="mongobee" class="com.github.mongobee.Mongobee">
 <constructor-arg ref="mongo"/>
 <property name="dbName" value="${mongo.databaseName}"/>
 <property name="enabled" value="true"/>
 <property name="changeLogsScanPackage" value="basepackagewherechangesetispresent"/>

现在添加变更集类

@ChangeLog(order = "1")
public class DatabaseChangeLog {

@ChangeSet(order = "101", id = "somelogicalnameforthischangeset", author = "nameofpersonwhodidthischange")
public void setupSeedData(MongoTemplate mongoTemplate) { 
   // run your datasetup, prefill,migration here.
}

就像flyway一样,它也维护着架构版本表,因此相同的更改集不会在同一环境中再次运行。

答案 5 :(得分:0)

我偶然发现了Ox(blog postrepo)。看起来很有希望。