3.2 Requirements for Using Liquibase
The two important aspects for using the Liquibase functionality are capturing and deploying objects in an Oracle database.
Capture Objects
To capture an object or a schema, you must have SQLcl with the Liquibase plug-in available.
In this release, you can only capture objects from the schema you are connected to in SQLcl. You also need write permission on the directory in which you save the files.
If you are capturing an entire schema, the user you are connected to must have the privilege to create a table. The DATABASECHANGELOG_EXPORT table is created internally to gather object details and sort them correctly. The created object is automatically excluded from the capture process and destroyed upon capture completion.
Deploy Objects
Liquibase uses the DATABASECHANGELOG table to track the changesets that have been run. The DATABASECHANGELOGLOCK table ensures that only one instance of Liquibase is running at a time. The DATABASECHANGELOG_ACTIONS table tracks the object state and the SQL statements executed during deployment.
-
SQLcl
Deploying changes to any database through SQLcl requires the privilege to create a table. You must have necessary permissions to create any object type through the change that you are deploying.
-
Liquibase
If you use Liquibase directly to deploy changesets, you need:
- the extension installed in your Liquibase environment. Add
the following jar files from
sqlcl/lib
andsqlcl/lib/ext
folders to theliquibase/lib
folder:dbtools-liquibase.jar
dbtools-apex.jar
guava-with-lf.jar
xmlparserv2_sans_jaxp_services.jar
dbtools-common.jar
- the privileges to create a table and a package.
- to update your properties file by adding the following line:
change-exec-listener-class: liquibase.changelog.visitor.OracleActionChangeListener
- the extension installed in your Liquibase environment. Add
the following jar files from