当前位置: 首页 > 知识库问答 >
问题:

用MongoDB分解generateChangeLog错误

欧阳英彦
2023-03-14

是否可以从现有MongoDB数据库生成更改日志?

❯ 液化酶generateChangeLog

[2021-04-05 11:01:31] INFO [liquibase.integration] No Liquibase Pro license key supplied. Please set liquibaseProLicenseKey on command line or in liquibase.properties to use Liquibase Pro features.
Liquibase Community 4.3.2 by Datical
Starting Liquibase at 11:01:31 (version 4.3.2 #44 built at 2021-03-23 14:01+0000)
[2021-04-05 11:01:31] INFO [com.mongodb.diagnostics.logging.JULLogger log] Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
BEST PRACTICE: The changelog generated by diffChangeLog/generateChangeLog should be inspected for correctness and completeness before being deployed.
[2021-04-05 11:01:31] INFO [com.mongodb.diagnostics.logging.JULLogger log] Exception in monitor thread while connecting to server localhost:27017
com.mongodb.MongoSocketOpenException: Exception opening socket
        at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70)
        at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128)
        at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
        at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.net.ConnectException: Connection refused
        at java.base/sun.nio.ch.Net.pollConnect(Native Method)
        at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:669)
        at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542)
        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333)
        at java.base/java.net.Socket.connect(Socket.java:645)
        at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:64)
        at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79)
        at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65)
        ... 3 more

Unexpected error running Liquibase: java.lang.ClassCastException: class liquibase.ext.mongodb.database.MongoConnection cannot be cast to class liquibase.database.jvm.JdbcConnection (liquibase.ext.mongodb.database.MongoConnection and liquibase.database.jvm.JdbcConnection are in unnamed module of loader 'app')
For more information, please use the --logLevel flag
[2021-04-05 11:01:31] SEVERE [liquibase.integration] Unexpected error running Liquibase: java.lang.ClassCastException: class liquibase.ext.mongodb.database.MongoConnection cannot be cast to class liquibase.database.jvm.JdbcConnection (liquibase.ext.mongodb.database.MongoConnection and liquibase.database.jvm.JdbcConnection are in unnamed module of loader 'app')
liquibase.exception.LiquibaseException: liquibase.command.CommandExecutionException: java.lang.ClassCastException: class liquibase.ext.mongodb.database.MongoConnection cannot be cast to class liquibase.database.jvm.JdbcConnection (liquibase.ext.mongodb.database.MongoConnection and liquibase.database.jvm.JdbcConnection are in unnamed module of loader 'app')
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:251)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1542)
        at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:367)
        at liquibase.Scope.lambda$child$0(Scope.java:160)
        at liquibase.Scope.child(Scope.java:169)
        at liquibase.Scope.child(Scope.java:159)
        at liquibase.Scope.child(Scope.java:138)
        at liquibase.integration.commandline.Main$1.run(Main.java:366)
        at liquibase.integration.commandline.Main$1.run(Main.java:196)
        at liquibase.Scope.child(Scope.java:169)
        at liquibase.Scope.child(Scope.java:145)
        at liquibase.integration.commandline.Main.run(Main.java:196)
        at liquibase.integration.commandline.Main.main(Main.java:158)
Caused by: liquibase.command.CommandExecutionException: java.lang.ClassCastException: class liquibase.ext.mongodb.database.MongoConnection cannot be cast to class liquibase.database.jvm.JdbcConnection (liquibase.ext.mongodb.database.MongoConnection and liquibase.database.jvm.JdbcConnection are in unnamed module of loader 'app')
        at liquibase.command.AbstractCommand.execute(AbstractCommand.java:24)
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:249)
        ... 12 more
Caused by: java.lang.ClassCastException: class liquibase.ext.mongodb.database.MongoConnection cannot be cast to class liquibase.database.jvm.JdbcConnection (liquibase.ext.mongodb.database.MongoConnection and liquibase.database.jvm.JdbcConnection are in unnamed module of loader 'app')
        at liquibase.snapshot.jvm.JdbcSnapshotGenerator.getDatabaseCatalogNames(JdbcSnapshotGenerator.java:144)
        at liquibase.snapshot.jvm.CatalogSnapshotGenerator.snapshotObject(CatalogSnapshotGenerator.java:35)
        at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:65)
        at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:49)
        at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:315)
        at liquibase.snapshot.DatabaseSnapshot.init(DatabaseSnapshot.java:100)
        at liquibase.snapshot.DatabaseSnapshot.<init>(DatabaseSnapshot.java:59)
        at liquibase.snapshot.JdbcDatabaseSnapshot.<init>(JdbcDatabaseSnapshot.java:38)
        at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:215)
        at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:188)
        at liquibase.command.core.DiffCommand.createReferenceSnapshot(DiffCommand.java:222)
        at liquibase.command.core.DiffCommand.createDiffResult(DiffCommand.java:144)
        at liquibase.command.core.GenerateChangeLogCommand.run(GenerateChangeLogCommand.java:62)
        at liquibase.command.AbstractCommand.execute(AbstractCommand.java:19)
        ... 13 more

液基性质:

变更日志文件:\u changelog。xml

url:mongodb://localhost:27017/test?authSource=admin

用户名:xxx

密码:xxx

日志级别:信息

有什么配置是我遗漏的吗?

共有1个答案

宋志学
2023-03-14

目前,不支持使用liquibase mongodb扩展的generatechangelog。我用这个问题作为参考。

但是,您可以在此处请求该功能。

 类似资料:
  • 本文向大家介绍使用MongoDB分析Nginx日志的方法详解,包括了使用MongoDB分析Nginx日志的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文我们要从日志文件中找出IP访问最多的10条记录,然后判断其是否合法,从而采取对应的措施。感兴趣的朋友们一起来看看吧。 日志解析流程 正常情况下,关于Nginx日志解析的流程如下所示: 一般情况下我们会对要解析的日志提前进行切分,常用的方式是

  • 主要内容:MongoDB 中的分片,分片实例分片是跨多台机器存储数据的过程,它是 MongoDB 满足数据增长需求的方法。随着数据的不断增加,单台机器可能不足以存储全部数据,也无法提供足够的读写吞吐量。通过分片,您可以添加更多计算机来满足数据增长和读/写操作的需求。 为什么要分片? 在复制中,所有写操作都将转到主节点; 对延迟敏感的查询仍会转到主查询; 单个副本集限制为 12 个节点; 当活动数据集很大时,会出现内存不足; 本地磁盘不够大;

  • 当我运行Jhipster项目时,我从Liquibase获得一个“表已存在”错误: 我已经生成了Liquibase更改日志文件到配置\liquibase\更改日志目录使用 所以,我认为,当changelog设置现有数据库的基线时,有什么东西在欺骗Liquibase尝试重新创建数据库。 jhipster版本:当我哟jhipster-v是说1.2。当我nmp更新jhipster是说我在最新=17.2 L

  • 我是否遗漏了任何设置?

  • 我对在QT中使用MongoDB C++很新鲜。 然而,当我想在Qt上应用相同的代码时,出现了很多问题。 总体设置: Win10 带有Qt V5.10.1 MSVC2017的Qt Creator V4.6.0 64位Microsoft Visual C++编译器15.0调试器CDB x64 MongoDB v3.6.3 升压1.66.0作为lib64-msvc-14.1 Mongo c驱动程序v1.

  • 为了从我的数据库(oracle,db2)生成insert语句,我使用了带参数的liquibase generateChangeLog命令