We want to add liquibase into our existing project, and we also hope source control the database objects based on the file, meaning we prefer to generate the one change log file on one database object, then we source control the file and update the database object by sing the single object chang log file.

Now generating changelog create the only file for whole schema, I don't have see the option I could use to generate the changelog file separately for each object.

I know SQLcl could do that, but SQLcl can't allow us to specify the author for the changelog, so there is no perfect approach.Any idea or suggestions will be highly appreciated.

liquibase.exception.LiquibaseException: liquibase.command.CommandExecutionException: java.lang.RuntimeException: No serializers associated with the filename or extension 'work/ChangeLogs/hr_201908270146.json'

at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:282) ~[liquibase.jar:na]

at liquibase.integration.commandline.Main.doMigration(Main.java:1060) [liquibase.jar:na]

at liquibase.integration.commandline.Main.run(Main.java:209) [liquibase.jar:na]

at liquibase.integration.commandline.Main.main(Main.java:132) [liquibase.jar:na]

Caused by: liquibase.command.CommandExecutionException: java.lang.RuntimeException: No serializers associated with the filename or extension 'work/ChangeLogs/hr_201908270146.json'

at liquibase.command.AbstractCommand.execute(AbstractCommand.java:24) ~[liquibase.jar:na]

at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:280) ~[liquibase.jar:na]

... 3 common frames omitted

Caused by: java.lang.RuntimeException: No serializers associated with the filename or extension 'work/ChangeLogs/hr_201908270146.json'

at liquibase.serializer.ChangeLogSerializerFactory.getSerializer(ChangeLogSerializerFactory.java:55) ~[liquibase.jar:na]

at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:104) ~[liquibase.jar:na]

at liquibase.command.core.GenerateChangeLogCommand.run(GenerateChangeLogCommand.java:55) ~[liquibase.jar:na]

at liquibase.command.AbstractCommand.execute(AbstractCommand.java:19) ~[liquibase.jar:na]

... 4 common frames omitted

]]>Liquibase Usershttp://forum.liquibase.org/topic/no-serializers-associated-with-the-filename-or-extension-for-generating-json-changelog#49382000002082006Tue, 27 Aug 2019 00:57:48 -0700Hiring: Liquibase Support Engineerhttp://forum.liquibase.org/topic/hiring-liquibase-support-engineer#49382000002081004
nvoxlandWe are looking for someone to help us elevate the Liquibase
support experience. If you consider yourself to be a Liquibase Rockstar and can
bring expertise to this area, please let me know.

I would prefer it if the constraintName attribute was mandatory for all the changes which add constraints (such as addUniqueConstraint).

I deploy the same application to 2 different databases. One is my development environment, the other one is the user test environment, a third will be the production environment in the future.

When I began using liquibase in my current project, I didn't give names to unique constraints. This causes problems now when I want to refactor these tables. When no name is given, liquibase generates a random name, something like this: UQ_123456789_12345. This makes it impossible to delete or update these constraints later on, because the random names differ on all deployment environments!

Therefore I would suggest to make the constraintName attribute mandatory. (Or use a common seed when generating the names. But actually I would prefer it if the name was mandatory.)