Hello,
I am trying to create a JSON file from existing DB in MySQL using Liquibase generateChangeLog command. But I am getting runtime error. The following is the command with all switches. Here are the details:
Liquibase version - 3.6.3
MySQL version 5.7
Command
C:\liquibase-3.6.3-bin>liquibase --changeLogFile=./structure_db2.json --url="jdbc:mysql://localhost:12345" --includeCatalog=true --defaultSchemaName=my_db --username=testuser --password=password --classpath=lib/snakeyaml-1.18.jar --diffTypes="data" --logLevel=debug generateChangeLog
Error trace:
at liquibase.serializer.core.yaml.YamlSerializer.removeClassTypeMarksFromSerializedJson(YamlSerializer.java:163)
at liquibase.serializer.core.yaml.YamlSerializer.serialize(YamlSerializer.java:74)
at liquibase.serializer.core.json.JsonChangeLogSerializer.write(JsonChangeLogSerializer.java:23)
at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:148)
at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:87)
at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:74)
at liquibase.command.core.GenerateChangeLogCommand.run(GenerateChangeLogCommand.java:55)
at liquibase.command.AbstractCommand.execute(AbstractCommand.java:19)
... 4 common frames omitted
I did research on this forum and on the internet and got some clues but nothing has worked so far.
Here are some of the things I tried:
- Disabled Foreign Keys
- Removed all Foreign Keys
- Removed all Index
I created a small temp table and the above command works fine and creates a JSON for me. That makes me think that Liquibase is not liking something in my DB structure.
Any help will be appreciated.
Thanks,
-Atul