我正在为MongoDB寻找数据迁移工具, 类似于Liquibase或Flyway,与Mongo 3.0兼容。
有什么建议吗?
感谢。
答案 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)