Liquibase license issues when upgrading to v-4.3.4

Hi, at the company I work we are using Liquibase as well as Flyway. After upgrading from an older liquibase version we now run into licenses issues when we run the liquibase dump data command. I have had a look at the pro vs community features and cannot se that we are using any pro-features. Our database schemas have tables, constraints and sequences. No stored procedures, no triggers etc. Below is the output from a new greenfield project, there are just 5 tables in the schema. There is no reason why this is not working as far as I can see.

This works:

java -jar liquibase-core-3.5.5.jar --logLevel=debug --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url=“jdbc:oracle:thin:@localhost:1521:XE” --username=TEST --password=TEST --diffTypes=“data” generateChangeLog

Output:

DEBUG 5/5/21, 12:55 PM: liquibase: Connected to TEST@jdbc:oracle:thin:@localhost:1521:XE
DEBUG 5/5/21, 12:55 PM: liquibase: Setting auto commit to false from true
DEBUG 5/5/21, 12:55 PM: liquibase: Computed checksum for 1620212106304 as 71ccb0e4115d9cd80adbc25b483e3c69
INFO 5/5/21, 12:55 PM: liquibase: Can not use class liquibase.serializer.core.yaml.YamlChangeLogSerializer as a Liquibase service because org.yaml.snakeyaml.representer.Representer is not in the classpath
INFO 5/5/21, 12:55 PM: liquibase: Can not use class liquibase.serializer.core.json.JsonChangeLogSerializer as a Liquibase service because org.yaml.snakeyaml.representer.Representer is not in the classpath
INFO 5/5/21, 12:55 PM: liquibase: db.changelog.xml does not exist, creating
DEBUG 5/5/21, 12:55 PM: liquibase: MissingObjectChangeGenerator type order: liquibase.structure.core.Catalog liquibase.structure.core.Schema liquibase.structure.core.Table liquibase.structure.core.Data liquibase.structure.core.ForeignKey liquibase.structure.core.Index liquibase.structure.core.PrimaryKey liquibase.structure.core.View
DEBUG 5/5/21, 12:55 PM: liquibase: UnexpectedObjectChangeGenerator type order: liquibase.structure.core.Catalog liquibase.structure.core.Data liquibase.structure.core.Schema liquibase.structure.core.View
liquibase.structure.core.Column liquibase.structure.core.Table liquibase.structure.core.Column liquibase.structure.core.PrimaryKey
DEBUG 5/5/21, 12:55 PM: liquibase: ChangedObjectChangeGenerator type order: liquibase.structure.core.Catalog liquibase.structure.core.Data liquibase.structure.core.Schema liquibase.structure.core.Table liquibase.structure.core.View
Liquibase ‘generateChangeLog’ Successful

The change log file is generated, the command complains about some dependencies but that is alright, we just need a data-dump.

Now running the same command against liquibase version 4.3.4:

java -jar liquibase-core-4.3.4.jar --logLevel=debug --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url=“jdbc:oracle:thin:@localhost:1521:XE” --username=TEST --password=TEST --diffTypes=“data” generateChangeLog

Output:

Starting Liquibase at 12:53:34 (version 4.3.4 #55 built at 2021-04-19 20:18+0000)
[2021-05-05 12:53:34] FINE [liquibase.integration] Adding ‘file:/C:/Users/…/dev/test/config/schema/ojdbc8-12.2.0.1.jar’ to the Java classpath.
[2021-05-05 12:53:34] FINE [liquibase.integration] Liquibase Hub URL: https://hub.liquibase.com
[2021-05-05 12:53:34] FINE [liquibase.integration] Liquibase Hub Mode: all
[2021-05-05 12:53:34] FINE [liquibase.resource] Adding path C:\Users…\dev\test\config\schema. to resourceAccessor liquibase.resource.FileSystemResourceAccessor
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.CockroachDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.DB2Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Db2zDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.DerbyDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Firebird3Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.FirebirdDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.H2Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.HsqlDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.InformixDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.Ingres9Database
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MSSQLDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MariaDBDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MockDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.MySQLDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.OracleDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.PostgresDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SQLiteDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SybaseASADatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.SybaseDatabase
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.Database instance liquibase.database.core.UnsupportedDatabase
[2021-05-05 12:53:34] FINE [liquibase.database] Properties:
[2021-05-05 12:53:34] FINE [liquibase.database] Key:‘password’ Value:’**********’
[2021-05-05 12:53:34] FINE [liquibase.database] Key:‘user’ Value:‘TEST’
[2021-05-05 12:53:34] FINE [liquibase.database] Connecting to the URL:‘jdbc:oracle:thin:@localhost:1521:XE’ using driver:‘oracle.jdbc.OracleDriver’
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.DatabaseConnection instance liquibase.database.jvm.JdbcConnection
[2021-05-05 12:53:34] FINE [liquibase.servicelocator] Loaded liquibase.database.DatabaseConnection instance com.datical.liquibase.ext.database.jvm.ProJdbcConnection
[2021-05-05 12:53:35] FINE [liquibase.database] Connection has been created
[2021-05-05 12:53:35] FINE [liquibase.database] Connected to TEST@jdbc:oracle:thin:@localhost:1521:XE
[2021-05-05 12:53:35] FINE [liquibase.database] Setting auto commit to false from true
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Catalog
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Column
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Data
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.ForeignKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Index
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.PrimaryKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Schema
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Sequence
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.StoredProcedure
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Table
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.UniqueConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.View
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.appdba.synonym.Synonym
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.function.Function
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.trigger.Trigger
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Catalog
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Column
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Data
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.ForeignKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Index
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.PrimaryKey
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Schema
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Sequence
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.StoredProcedure
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.Table
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.UniqueConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance liquibase.structure.core.View
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.appdba.synonym.Synonym
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.function.Function
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.structure.DatabaseObject instance com.datical.liquibase.ext.storedlogic.trigger.Trigger
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DeactivateChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DiffCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DiffToChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.DropAllCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.ExecuteSqlCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.GenerateChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.HistoryCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.RegisterChangeLogCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.SnapshotCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.command.core.SyncHubCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance liquibase.sdk.convert.ConvertCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.FormattedDiffCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.RollbackOneChangeSetCommand
[2021-05-05 12:53:35] FINE [liquibase.servicelocator] Loaded liquibase.command.LiquibaseCommand instance com.datical.liquibase.ext.command.RollbackOneUpdateCommand
Unexpected error running Liquibase: Unknown reason
For more information, please use the --logLevel flag
[2021-05-05 12:53:35] SEVERE [liquibase.integration] Unexpected error running Liquibase: Unknown reason
java.lang.NullPointerException
at com.datical.liquibase.ext.command.RollbackOneChangeSetCommand.getPriority(Unknown Source)
at liquibase.command.CommandFactory$1.compare(CommandFactory.java:49)
at liquibase.command.CommandFactory$1.compare(CommandFactory.java:46)
at java.base/java.util.TimSort.binarySort(Unknown Source)
at java.base/java.util.TimSort.sort(Unknown Source)
at java.base/java.util.Arrays.sort(Unknown Source)
at java.base/java.util.ArrayList.sort(Unknown Source)
at java.base/java.util.Collections.sort(Unknown Source)
at liquibase.command.CommandFactory.getCommand(CommandFactory.java:55)
at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:237)
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)

Changeing --diffTypes to just “tables” does not work either, this leads me to believe that this is a bug? It must be possible to do a plain data dump with the latest community version just as it did with previous versions (at least 3.5.5 which we have used for a long time).

Best regards,
Steinard

Same error occurs in latest release 4.3.5 #62

I cloned master from github, commented out some failing unit tests and built liquibase-core, then copied the compiled jar to the same folder as the previous attempts documented above and ran the command:

java -jar liquibase-core-4.4.0-local-SNAPSHOT.jar --logLevel=info --driver=oracle.jdbc.OracleDriver --classpath=ojdbc8-12.2.0.1.jar --changeLogFile=db.changelog.xml --url=“jdbc:oracle:thin:@localhost:1521:XE” --username=TEST --password=TEST --diffTypes=“data” generateChangeLog

Output:

[2021-05-05 15:41:08] INFO [liquibase.servicelocator] Cannot load service: liquibase.license.LicenseService: Provider liquibase.pro.license.keymgr.DaticalTrueLicenseService not found

Starting Liquibase at 15:41:08 (version 4.4.0-local-SNAPSHOT #0 built at 2021-05-05 13:05+0000)
BEST PRACTICE: The changelog generated by diffChangeLog/generateChangeLog should be inspected for correctness and completeness before being deployed.
[2021-05-05 15:41:09] INFO [liquibase.servicelocator] Cannot load service: liquibase.serializer.ChangeLogSerializer: liquibase.serializer.core.json.JsonChangeLogSerializer Unable to get public no-arg constructor
[2021-05-05 15:41:09] INFO [liquibase.servicelocator] Cannot load service: liquibase.serializer.ChangeLogSerializer: liquibase.serializer.core.yaml.YamlChangeLogSerializer Unable to get public no-arg constructor
[2021-05-05 15:41:09] WARNING [liquibase.diff] Unable to query DBA_DEPENDENCIES table. Switching to USER_DEPENDENCIES
[2021-05-05 15:41:09] INFO [liquibase.diff] changeSets count: 4
[2021-05-05 15:41:09] INFO [liquibase.diff] db.changelog.xml does not exist, creating and adding 4 changesets.
Liquibase command ‘generateChangeLog’ was executed successfully.

So this issue with the license is fixed on master branch. Any plans on upgrading 4.3.5 with a working release?

Thanks,
Steinard