尝试从现有项目生成变更日志文件时出错 "Table name pattern can not be NULL or Empty"

Error "Table name pattern can not be NULL or Empty" when trying to generate changelog file from existing project

我无法使用此命令从 MySQL 服务器生成更新日志文件

liquibase 
--driver=com.mysql.cj.jdbc.Driver
--classpath=\path\to\mysql-connector-java-6.0.6.jar 
--changeLogFile=com\example\db.changelog.yaml
--url=jdbc:mysql:http://hostip:3306/schemaName 
--username=scott 
--password=tiger 
generateChangeLog

这总是 returns - "Table name pattern can not be NULL or Empty",我只有 2 个表,而且它们都有一个名字。

也许我需要提到整个 DDL 都是由 Hibernate 制作的,我只是将 DDL 导出并导入到模式中。

这是一个 Spring 引导项目。

尝试添加属性:defaultSchemaName=yourSchemaName

您正在使用 MySQL 驱动程序的最新版本。在这些版本中,nullNamePatternMatchesAll 参数的值默认为 false。我不确定你是否可以强制你的 JDBC 连接字符串并以某种方式将 ?nullNamePatternMatchesAll=true 添加到你的 url,使其有效

--url=jdbc:mysql://hostip:3306/schemaName?nullNamePatternMatchesAll=true

或者如果这不起作用,请降级您的 JDBC 驱动程序。

这是JDBC元数据检索层的问题,Liquibase显然依赖于它。

有关更多信息,请在此处查找示例: