SQLcl 22.3 was released while I was on vacation…how dare they!
This blog is coming a few days later than normal, you have my sincerest apologies.
The Highlights
- a ton of bug fixes
- a new command interface
- updated Liquibase feature
For bugs the big ones would be we’re now able to do APEX exports via the APEX command and imports via Liquibase changeSets.
There’s additionally a bunch of parser/insight bugs fixed, which will also go upstream to SQL Developer Web.
New Command Interface
- Easier to read help pages
- Standardized parameters/options
- Easy access to Examples
<command> help <option> -ex
So for say the DataPump command, I can do this –

-ex is shorthand for -example
If I ask for help just on ‘dp’ itself, I get this –

These changes were implemented on a few command including datapump, migrateadvisor, and liquibase.
Liquibase
This is where most of the work for the last 3 months went. The changes are pretty radical, at least compared to what we offered before.
- upgraded to Liquibase version 4.15
- renamed our command and options to match Liquibase’ commands
- added support for most of the community edition commands and options
- made it easy/possible to take SQLcl JARs to your existing Liquibase installs/environments
- fixed a TON of bugs
Yes, I’ll have many more blog posts, videos, and even hands-on labs to discuss Liquibase support in SQLcl, but in the meantime, here’s some slides to chew on.
Before you freak out, yes, we changed up the commands (again), but they’re backwards compatible. We’ll honor the old style, but print a gentle reminder it’s deprecated and you need to update your scripts.
SQLcl’s Liquibase Docs got a major update as well
You probably want to start here, the supported commands.

3 Comments
Hi Jeff,
I am exploring the possibilities this new version of SQLcl/Liquibase following the example flow as shown on slide 19 of the ppt.
My subject database schema contains ref-contraints and I run into ORA-02275 errrors when I load the the controller.xml into the new environment using the LB -UPDATE command when the ref_contraint xml’s are processed. The ref-constraints are already generated as part of the create table xml.
I have tried to solve this by tweaking the DDL generation parameters, but so far without success.
I could edit the controller.xml file and remove the ref_constraints references, but I presume there must be a more “sophisticated” solution for avoiding these errors.
Could you give me some hints how to avoid these errors?
Thnx in advance for your help!
Yeah that is a bug that we fixed in 22.3.1
Bug 34690393 - LB GENERATES DUPLICATE FOREIGN KEY XML FILE ON GENERATE-SCHEMA AND FAILS TO UPDATE LATER.
Thanks Jeff!