2016-08-04 139 views
3

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

有什么建议吗?

谢谢。

+0

如果你想“手工”迁移下载MongoChef,你可以选择数据库并复制并粘贴到其他地方 – libik

回答

0

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

0

有一个很好的工具叫做MongoSyphon,由Mongo的一位咨询工程师开发,其中包括连接等,并且具有高度可配置性。

1

我构建了一个快速命令行工具,旨在部署过程中更新数据库。

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

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

PS:它是3天,所以万一你找到一个bug请让我知道。

0

我在使用MongoDB时需要使用Mongobee,并且需要类似于flyway的东西。这项工作是否容易配置?

添加Maven的依赖

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

您需要在您的上下文xml文件来创建Mongobee豆

<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. 
} 

就如同迁徙路线它还维护模式版本表,以便相同的更改集不会再次以相同的方式运行 环境。