Giter Site home page Giter Site logo

docker's Introduction

Liquibase Build and Test Quality Gate Status

Liquibase helps millions of developers track, version, and deploy database schema changes. It will help you to:

  • Control database schema changes for specific versions
  • Eliminate errors and delays when releasing databases
  • Automatically order scripts for deployment
  • Easily rollback changes
  • Collaborate with tools you already use

This repository contains the main source code for Liquibase Open Source. For more information about the product, see the Liquibase website.

Liquibase Automation and Integrations

Liquibase Open Source has built-in support for a variety of databases. Databases that are not part of Liquibase Open Source require extensions that you can download for free. Here is the full list of supported databases.

Liquibase can be integrated with Maven, Ant, Gradle, Spring Boot, and other CI/CD tools. For a full list, see Liquibase Tools & Integrations. You can use Liquibase with GitHub Actions, Spinnaker, and many different workflows.

Install and Run Liquibase

System Requirements

Liquibase system requirements can be found on the Download Liquibase page.

An H2 in-memory database example for CLI

  1. Download and run the appropriate installer.
  2. Make sure to add Liquibase to your PATH.
  3. Copy the included examples directory to the needed location.
  4. Open your CLI and navigate to your examples/sql or examples/xml directory.
  5. Start the included H2 database with the liquibase init start-h2 command.
  6. Run the liquibase update command.
  7. Run the liquibase history command to see what has executed!

See also how to get started with Liquibase in minutes or refer to our Installing Liquibase documentation page for more details.

Documentation

Visit the Liquibase Documentation website to find the information on how Liquibase works.

Courses

Learn all about Liquibase by taking our free online courses at Liquibase University.

Want to help?

Want to file a bug or improve documentation? Excellent! Read up on our guidelines for contributing!

Contribute code

Use our step-by-step instructions for contributing code to the Liquibase open source project.

Join the Liquibase Community

Earn points for your achievements and contributions, collect and show off your badges, add accreditations to your LinkedIn. Learn more about the pathway to Legend and benefits. Enjoy being part of the community!

Liquibase Extensions

Provide more database support and features for Liquibase.

License

Liquibase Open Source is licensed under the Apache 2.0 License.

Liquibase Pro has additional features and support and is commercially licensed.

LIQUIBASE is a registered trademark of Liquibase Inc.

Liquibase Forum

Liquibase Blog

Get Support & Advanced Features

Publish Release Manual Trigger to Sonatype

  1. When a PO (Product Owner) or a Team Leader navigates to Publish a release from here -> https://github.com/liquibase/liquibase/releases/, the workflow from /workflow/release-published.yml job is triggered.
  2. When a release is triggered, the workflow file will stop after Setup step and an email will be sent out to the list of approvers mentioned in job manual_trigger_deployment. You can click on the link and perform anyone of the options mentioned in description.
  3. A minimum of 2 approvers are needed in order for the other jobs such as deploy_maven, deploy_javadocs, publish_to_github_packages, etc to be executed.
  4. When you view the GitHub PR, make sure to verify the version which is being published. It should say something like Deploying v4.20.0 to sonatype

docker's People

Contributors

ap-liquibase avatar betarabbit avatar bilak avatar constantin07 avatar danielalejandrohc avatar dependabot[bot] avatar dhwanitsshah avatar filipelautert avatar girimathi avatar ingwarsw avatar jandroav avatar jasper-vandemalle avatar jgarec avatar jnewton03 avatar juliaaano avatar liquibase-docker avatar liquibot avatar mcred avatar mkutz avatar molivasdat avatar nvoxland avatar r2-lf avatar rafaelwo avatar ridicolos avatar rk13 avatar sayalim0412 avatar steffen911 avatar sudhirsingh-cloudbuilders avatar szandany avatar wwillard7800 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker's Issues

Arm64 arch not usable (Apple M1 chips)

Due to a qemu upstream bug, this container is not usable in arm64 archs with x86 emulation, with the following outcome:

qemu: uncaught target signal 11 (Segmentation fault) - core dumped

Building this image locally in an arm64 machine works perfectly, without any major compatibility issues.

There's not much hopes of getting the bug fixed, with most support being:

Please encourage the author of this container to supply an arm64 or multi-arch image, not just an Intel one

Please consider building this image in arm64 architectures in the near future. Especially now that M1 looks to be the mainstream Apple platform for new machines.

4.1.1 Liquibase: Unexpected value 'sh' (options must start with a '--')

The 4.1.1 release yesterday introduced a new bug in my pipeline that has been working fine.
cmd: /liquibase/liquibase --url="jdbc:postgresql://xx.xx.xx.xx:xxxx/XXXXX" --changeLogFile=./files/changelogsql.xml --username=**** --password=**** update

Starting Liquibase at 13:32:39 (version 4.1.1 #10 built at 2020-10-12 19:24+0000)
To display the help, please pass the '--help' option on the command line.
Unexpected error running Liquibase: Unexpected value 'sh' (options must start with a '--')
For more information, please use the --logLevel flag
Oct 28, 2020 1:32:39 PM liquibase.integration
SEVERE: Unexpected error running Liquibase: Unexpected value 'sh' (options must start with a '--')
liquibase.exception.CommandLineParsingException: Unexpected value 'sh' (options must start with a '--')
at liquibase.integration.commandline.Main.parseOptions(Main.java:1154)
at liquibase.integration.commandline.Main$1.run(Main.java:259)
at liquibase.integration.commandline.Main$1.run(Main.java:193)
at liquibase.Scope.child(Scope.java:169)
at liquibase.Scope.child(Scope.java:145)
at liquibase.integration.commandline.Main.run(Main.java:193)
at liquibase.integration.commandline.Main.main(Main.java:156)
Cleaning up file based variables
00:00
ERROR: Job failed: exit code 255

I have confirmed 3.10.x still works as expected.

TLS Deprecation in JDK11.0.11

Hi
As you aware or might be not, the latest JDK11 11.0.11 update depreciated TLSv1.0 and TLSv1.1

These causing serious problems with connection to old MySQL databases (v 5.6, v5.7)
with exception something like:

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

It affected liquibase docker too.
for example, we were using docker of the latest liqubase but a few days ago (after global JDK11 update)) it suddenly stop working because your parent image is not locked to a specific JDK. you have:
FROM openjdk:11-jre-slim-buster

However, should be:
FROM openjdk:11.0.XX-jre-slim-buster

to be more specific:
FROM openjdk:11.0.10-jre-slim-buster
11.0.10 - was the last JDK11 version without TLS deprecation.

So in other words you locked liquibase version, but you didn't lock JDK version in your parent image and that causing problems now.
Also if you will lock JDK version, your tagging system also will have to be improved, as you for example might have:
liquibase:4.2 but with JDK11.0.10 and the same liquibase version with the latest JDK

For now as a temp solution, we downgraded to the older version of liquibase

updateTestingRollback stopped working on CLI v4.4.0

Getting the following CLI error since upgrade to v4.4.0

$ liquibase --defaultsFile=devops/cicd/lb/liquibase.docker.properties --logLevel=info updateTestingRollback
Unexpected argument(s): updateTestingRollback
For detailed help, try 'liquibase --help' or 'liquibase <command-name> --help'
Did you mean: rollback-one-update or rollback-to-date or update?

I think it might be related with #1909

Postgres fails with "Connection could not be created to" โ€ฆ "Possibly the wrong driver for the given database URL"

Trying to apply a simple schema to postgres fails with:

Caused by: liquibase.exception.DatabaseException: Connection could not be created to "jdbc:postgresql://timescaledb:5432/timescale?ssl=false" with driver org.postgresql.Driver.  Possibly the wrong driver for the given database URL
	at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:46)
	at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
	at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:32)
	... 31 more

However, the database is indeed PostgreSQL!!

I also don't see any cause above the shown error. So I am wondering what causes this error.

Version:

Starting Liquibase at 14:29:36 (version 4.5.0 #52 built at 2021-09-27 16:19+0000)
Liquibase Version: 4.5.0
Liquibase Community 4.5.0 by Datical

Can't connnect to SQL Server running in a different container

I have a container running SQL Server, set up by following Microsoft recomendation. My intent is to use it as a sandbox environment, to test my changelogs before actually committing them, and as so I'm trying to run the Liquibase image in a different container, connecting to the database, but it fails to connect do the database.

This is how I'm trying to execute it:

docker run --rm \
           --volume /local/path/to/changelogs:/liquibase/changelog \
           liquibase/liquibase \
           --url='jdbc:sqlserver://0.0.0.0:1433;database=MySandbox;' \
           --changeLogFile=/liquibase/changelog/db-changelog-master.xml \
           --username=sa \
           --password=MyStrongPassword@ \
           --logLevel=debug \
           validate

and this is what happens:

(a bunch of log messages)
[2020-08-12 14:30:11] FINE [com.microsoft.sqlserver.jdbc.SQLServerException logException] *** SQLException:ConnectionID:1 com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 0.0.0.0, port 1433 has failed. Error: "Connection refused (Connection refused). Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.". The TCP/IP connection to the host 0.0.0.0, port 1433 has failed. Error: "Connection refused (Connection refused). Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
For more information, please use the --logLevel flag
[2020-08-12 14:30:11] SEVERE [liquibase.integration] Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
    at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:127)
    at liquibase.integration.commandline.Main.doMigration(Main.java:1249)
    at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:316)
    at liquibase.Scope.lambda$child$0(Scope.java:159)
    at liquibase.Scope.child(Scope.java:170)
    at liquibase.Scope.child(Scope.java:158)
    at liquibase.Scope.child(Scope.java:137)
    at liquibase.Scope.child(Scope.java:183)
    at liquibase.Scope.child(Scope.java:187)
    at liquibase.integration.commandline.Main$1.run(Main.java:315)
    at liquibase.integration.commandline.Main$1.run(Main.java:166)
    at liquibase.Scope.child(Scope.java:170)
    at liquibase.Scope.child(Scope.java:144)
    at liquibase.integration.commandline.Main.run(Main.java:166)
    at liquibase.integration.commandline.Main.main(Main.java:145)
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
    at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:250)
    at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:140)
    at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:92)
    ... 14 more
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
    at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:36)
    at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:247)
    ... 16 more
Caused by: liquibase.exception.DatabaseException: Connection could not be created to jdbc:sqlserver://0.0.0.0:1433;database=MySandbox; with driver com.microsoft.sqlserver.jdbc.SQLServerDriver.  Possibly the wrong driver for the given database URL
    at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:43)
    at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
    at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:33)
    ... 17 more

The database is up, and I can connect to it from my local OS. My expectation was that I would be able to make the Liquibase container connect to it via the default network. Can anyone help me? I don't know what I'm missing here.

permission error on changelog when running generateChangeLog

I'm attempting to generate the initial change log using the docker image running against an existing Microsoft SQL Database.

Here is a sample docker-compose yaml file to bring up the database

version: "3.2"
services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu
    ports:
    - "1433:1433"
    environment:
    - ACCEPT_EULA=Y
    - SA_PASSWORD=fakePassw0rd1
    - MSSQL_PID=Developer
    networks:
    - helloworld
    volumes:
    - ./data:/var/opt/mssql/data 
    - ./log:/var/opt/mssql/log 
    - ./secrets:/var/opt/mssql/secrets
    - ./sql:/var/opt/sql

volumes:
  logvolume01: {}

networks:
  helloworld:

Now I'm trying to create the initial changelog for a database hosted in the mssql service. For simplicity, let's say it is called AdventureWorks, and I now run the following liquibase command:

docker run --net=host --rm -v /home/grant/liquibase:/liquibase/changelog liquibase/liquibase --url="jdbc:sqlserver://localhost:1433;database=AdventureWorks;" --changeLogFile=/liquibase/changelog/changelog.xml --username=sa --password=fakePassw0rd --logLevel=debug generateChangeLog

This gives the following output:

...
[2020-09-16 15:52:13] FINE [com.microsoft.sqlserver.jdbc.SQLServerResultSet <init>] SQLServerResultSet:29 created by (SQLServerStatement:29)
[2020-09-16 15:52:13] FINE [com.microsoft.sqlserver.jdbc.SQLServerResultSetMetaData <init>]  SQLServerResultSetMetaData:17 created by (SQLServerResultSet:29)
[2020-09-16 15:52:13] FINE [liquibase.diff] UnexpectedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.ForeignKey    liquibase.structure.core.Schema    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.View    liquibase.structure.core.Table    liquibase.structure.core.PrimaryKey    liquibase.structure.core.Column    liquibase.structure.core.Index    liquibase.structure.core.Sequence
[2020-09-16 15:52:13] INFO [liquibase.diff] changeSets count: 4
[2020-09-16 15:52:13] INFO [liquibase.diff] /liquibase/changelog/changelog.xml does not exist, creating and adding 4 changesets.
Unexpected error running Liquibase: java.io.FileNotFoundException: /liquibase/changelog/changelog.xml (Permission denied)
For more information, please use the --logLevel flag
[2020-09-16 15:52:13] SEVERE [liquibase.integration] Unexpected error running Liquibase: java.io.FileNotFoundException: /liquibase/changelog/changelog.xml (Permission denied)
liquibase.exception.LiquibaseException: liquibase.command.CommandExecutionException: java.io.FileNotFoundException: /liquibase/changelog/changelog.xml (Permission denied)
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:247)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1359)
        at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:316)
        at liquibase.Scope.lambda$child$0(Scope.java:159)
        at liquibase.Scope.child(Scope.java:170)
        at liquibase.Scope.child(Scope.java:158)
        at liquibase.Scope.child(Scope.java:137)
        at liquibase.Scope.child(Scope.java:183)
        at liquibase.Scope.child(Scope.java:187)
        at liquibase.integration.commandline.Main$1.run(Main.java:315)
        at liquibase.integration.commandline.Main$1.run(Main.java:166)
        at liquibase.Scope.child(Scope.java:170)
        at liquibase.Scope.child(Scope.java:144)
        at liquibase.integration.commandline.Main.run(Main.java:166)
        at liquibase.integration.commandline.Main.main(Main.java:145)
Caused by: liquibase.command.CommandExecutionException: java.io.FileNotFoundException: /liquibase/changelog/changelog.xml (Permission denied)
        at liquibase.command.AbstractCommand.execute(AbstractCommand.java:24)
        at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:245)
        ... 14 more
Caused by: java.io.FileNotFoundException: /liquibase/changelog/changelog.xml (Permission denied)
        at java.base/java.io.FileOutputStream.open0(Native Method)
        at java.base/java.io.FileOutputStream.open(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at java.base/java.io.FileOutputStream.<init>(Unknown Source)
        at liquibase.diff.output.changelog.DiffToChangeLog.printNew(DiffToChangeLog.java:212)
        at liquibase.diff.output.changelog.DiffToChangeLog$1.run(DiffToChangeLog.java:125)
        at liquibase.Scope.lambda$child$0(Scope.java:159)
        at liquibase.Scope.child(Scope.java:170)
        at liquibase.Scope.child(Scope.java:158)
        at liquibase.Scope.child(Scope.java:137)
        at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:119)
        at liquibase.diff.output.changelog.DiffToChangeLog.print(DiffToChangeLog.java:86)
        at liquibase.command.core.GenerateChangeLogCommand.run(GenerateChangeLogCommand.java:72)
        at liquibase.command.AbstractCommand.execute(AbstractCommand.java:19)
        ... 15 more

The changesets appear to generate correctly, but there is a permission problem when trying to write out the changelog.xml file, note the error /liquibase/changelog/changelog.xml (Permission denied)

Am I doing something wrong, or could this be a bug?

Azure SQL / MS SQL server support broken with latest image

Additionally to #13 breaking the latest images support for mssql is broken as well:

10:51:43.212 ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0
java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at liquibase.resource.CompositeResourceAccessor$CompositeClassLoader.loadClass(CompositeResourceAccessor.java:78)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:199)
at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:149)
at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:91)
at liquibase.integration.commandline.Main.doMigration(Main.java:1338)
at liquibase.integration.commandline.Main.run(Main.java:300)
at liquibase.integration.commandline.Main.main(Main.java:159)

script returned exit code 255

Affected image tags: latest, 3.10.x

Postgres db connection error: wrong driver for the given database URL

Hi,

I am trying to update my Postgresql database by executing the below command. The format of my URL looks like this in the logs jdbc:postgresql://host:5432/dbname. This should be a correct format. However, I keep getting this error Connection could not be created to jdbc:postgresql://host:5432/dbname with driver org.postgresql.Driver. Possibly the wrong driver for the given database URL. Is there something wrong with the command I run?

Thank you

docker run --rm -v /backend/src/main/resources/db:/liquibase/changelog liquibase/liquibase --classpath=/liquibase/lib/postgresql.jar --url=${dbUrl} --changeLogFile=/liquibase/changelog/db-changelog.xml --username=${dbUsername} --password=${dbPassword} --contexts=${contexts} --logLevel=debug update

Can I config my liquibase.properties with envionment variables

Hello๏ผŒI'm learning to use Liquibase with docker.

Can I config my liquibase.properties with envionment variables which define by myself๏ผŸ

For example.

url=jdbc:mysql://${MYSQL_HOST:-127.0.0.1}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-test}

# Enter the username for your Target database.
username: ${MYSQL_USER}

# Enter the password for your Target database.
password: ${MYSQL_PASSWORD}

If it can be supported, I can use the following command:

docker run -ti -v $(pwd)/changelog:/liquibase/changelog -e MYSQL_HOST=<somewhere> -e MYSQL_PORT=<someport> -e MYSQL_USER=<myuser> -e MYSQL_PASSWORD=<Whoknows> --name=liqui --rm liquibase:tag update

Perhaps this is a good use for the K8s environment.

Unknown column DATETIME_PRECISION

I'm using MemSQL Docker image and trying to integrate Liquibase. I'm able to execute status, update and updateSQL. After executing UpdateSQL, the table DATABASECHANGELOG is created. When the table is on every execution gives me this error:

Unknown column 'DATETIME_PRECISION' in 'field list'

Include drivers for all supported databases

Received customer feedback: I expected mysql driver to be packaged inside docker image just like postgres driver. Customer ended up running

docker run -it liquibase/liquibase sh -c "lpm add mysql && liquibase update "

Suggest including drivers and extensions for all Liquibase supported databases. This means include drivers for these platforms:

  • Oracle
  • SQL Server
  • Postgres
  • MySQL
  • MariaDB
  • Snowflake
  • Cassandra
  • MongoDB
  • Redshift
  • CockroachDB
  • Cloud Spanner
  • CosmosDB
  • DB2
  • Firebird
  • SQLite
  • Apache Derby
  • H2
  • Sybae
  • Informix
  • HyperSQL
  • Teradata
  • VoltDB
  • Vertica
  • Impala
  • SAP Hana
  • SAP MaxDB
  • Hive
  • Yugabyte
  • Neo4j

Dockerfile Security Updates

from docker-official/tianon IRC:

  • curl without any verification will not be acceptable (all those JDBC jars)

  • bare ENTRYPOINT won't be acceptable either

  • MAINTAINER is deprecated, so should be removed

  • "FROM openjdk:13" should probably be more specific, and cannot reference OpenJDK 13 as that version no longer exists (https://github.com/docker-library/docs/blob/master/openjdk/README.md#supported-tags-and-respective-dockerfile-links), so you probably want something like either "openjdk:11-jre-slim-buster" or "openjdk:14-jdk-slim-buster" (or non-slim, if you prefer / need things the slim images remove)

  • I would recommend updating adduser liquibase to be more specific, especially about the exact UID/GID

  • those curl invocations don't even include -f, so if the downloads fail, they will still be considered successful

Ojdbc Connection Error Possible fix

When using the latest version of the liquibase Image, I am still getting the same error message as mentioned in Issue: #25
I am using ojdbc10-19.3.0.0 as the database driver.

Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
For more information, please use the --logLevel flag
[2020-08-03 18:39:46] SEVERE [liquibase.integration] Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:127)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1249)
        at liquibase.integration.commandline.Main$1.lambda$run$0(Main.java:316)
        at liquibase.Scope.lambda$child$0(Scope.java:159)
        at liquibase.Scope.child(Scope.java:170)
        at liquibase.Scope.child(Scope.java:158)
        at liquibase.Scope.child(Scope.java:137)
        at liquibase.Scope.child(Scope.java:183)
        at liquibase.Scope.child(Scope.java:187)
        at liquibase.integration.commandline.Main$1.run(Main.java:315)
        at liquibase.integration.commandline.Main$1.run(Main.java:166)
        at liquibase.Scope.child(Scope.java:170)
        at liquibase.Scope.child(Scope.java:144)
        at liquibase.integration.commandline.Main.run(Main.java:166)
        at liquibase.integration.commandline.Main.main(Main.java:145)
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:250)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:140)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:92)
        ... 14 more
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:36)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:247)
        ... 16 more
Caused by: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:43)
        at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:33)
        ... 17 more

However when I am using the image including 3.10.x (3.10.2), I suprisingly received an exception I could work with (ORA-01882: timezone region not found). Strangely the logging in Version 3.10.2 seems to be more verbose than in 4.0.0.
Setting an environment variable TZ=UTC inside the container fixed this issue for both version 3.10.x and latest.

18:41:43.511 ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  ORA-00604: error occurred at recursive SQL level
ORA-01882: timezone region not found

liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  ORA-00604: error occurred at recursive SQL level
ORA-01882: timezone region not found

        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:125)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1341)
        at liquibase.integration.commandline.Main.run(Main.java:303)
        at liquibase.integration.commandline.Main.main(Main.java:159)
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  ORA-00604: error occurred at recursive SQL level
ORA-01882: timezone region not found

        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:259)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:149)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:90)
        ... 3 common frames omitted
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  ORA-00604: error occurred at recursive SQL level
ORA-01882: timezone region not found

        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:35)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:256)
        ... 5 common frames omitted
Caused by: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  ORA-00604: error occurred at recursive SQL level
ORA-01882: timezone region not found

        at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:45)
        at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:32)
        ... 6 common frames omitted

Strangely using the Image generated from this Dockerfile including liquibase 4.0.0 does not require an environment variable TZ to be set! It connects to the database with odjbc10-19.3.0.0 without any problems
290b273#diff-3254677a7917c6c01f55212f86c57fbf

Absolute files not supported

In the documentation is says e.g::

or docker run --rm -v :/liquibase/changelog liquibase/liquibase --defaultsFile=/liquibase/changelog/liquibase.docker.properties --changeLogFile=/liquibase/changelog/changelog.xml generateChangeLog (the argument --changeLogFile wins against the defaultsFile)

However, if you use an absolute path that you get:

Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add '/' to the classpath parameter.
	at liquibase.parser.core.sql.SqlChangeLogParser.parse(SqlChangeLogParser.java:45)
	at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:369)
	at liquibase.Liquibase.lambda$update$1(Liquibase.java:224)
	at liquibase.Scope.lambda$child$0(Scope.java:177)
	at liquibase.Scope.child(Scope.java:186)

Groovy DSL

Was anyone successful in adding the support for groovy dsl? I've added 3 JARs mentioned at https://github.com/liquibase/liquibase-groovy-dsl to the classpath but the groovy changelog parser can't be found. Any ideas?

$ docker run --rm  -v /removed/db/:/liquibase/changelog -v /removed/lib:/liquibase/classpath liquibase/liquibase:3.10 --classpath=changelog:classpath/groovy-2.5.9.jar:classpath/groovy-sql-2.5.9.jar:classpath/spring-core-5.2.4.RELEASE.jar:classpath/liquibase-groovy-dsl-2.1.2.jar --changeLogFile=master.groovy --url=jdbc:postgresql://removed:5432/removed?currentSchema=public --username=removed --password=password --logLevel=debug status

16:25:19.633 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/liquibase.jar!/liquibase.build.properties as liquibase.build.properties
16:25:19.645 INFO  [liquibase.integration.commandline.Main]: ####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ## 
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ## 
##  Get advanced features and support at          ##
##      liquibase.com/protrial                    ##
##                                                ##
####################################################
Starting Liquibase at Thu, 19 Nov 2020 16:25:19 UTC (version 3.10.3 #32 built at Mon Oct 12 07:24:42 UTC 2020)
16:25:19.649 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/liquibase.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.651 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/commons-cli-1.4.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.651 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/db2.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.652 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/firebird.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.652 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/h2-1.4.200.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.653 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/h2.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.653 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/jaxb-api-2.3.0.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.654 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/jaxb-core-2.3.0.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.654 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/jaxb-impl-2.3.0.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.655 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/logback-classic-1.2.3.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.656 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/logback-core-1.2.3.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.656 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/mariadb.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.657 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/mssql.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.737 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/mysql.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.738 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/postgresql.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.739 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/slf4j-api-1.7.28.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.739 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/snakeyaml-1.24.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.739 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/snowflake.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.740 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/sqlite.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
16:25:19.740 DEBUG [liquibase.resource.ClassLoaderResourceAccessor]: Opening jar:file:/liquibase/lib/sybase.jar!/META-INF/MANIFEST.MF as META-INF/MANIFEST.MF
.........
16:25:19.961 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loading from jar using file: /liquibase/liquibase.jar
16:25:19.961 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.yaml.YamlParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.961 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: interface liquibase.parser.LiquibaseParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.961 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.ContextClassLoaderXsdStreamResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.962 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.json.JsonChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.formattedsql.FormattedSqlChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.ChangeLogParserFactory in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.AbstractChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: interface liquibase.parser.ChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.ChangeLogParserFactory$1 in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.963 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.XsdStreamResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.964 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.ClassLoaderXsdStreamResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.964 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.ParsedNode in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.964 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.XMLChangeLogSAXParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.965 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.XMLChangeLogSAXHandler in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.965 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.json.JsonSnapshotParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.966 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.StandardNamespaceDetails in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.966 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: interface liquibase.parser.NamespaceDetails in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.966 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.NamespaceDetailsFactory$1 in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.966 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.XMLChangeLogSAXParser$1 in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.966 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.ResourceAccessorXsdStreamResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.967 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.ChangeLogParserCofiguration in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.967 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.SnapshotParserFactory in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.968 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.NamespaceDetailsFactory$SerializerNamespaceDetailsComparator in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.968 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.ParsedNodeException in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.968 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.yaml.YamlChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.968 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: interface liquibase.parser.SnapshotParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.968 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.yaml.YamlSnapshotParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.969 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.sql.SqlChangeLogParser in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.969 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.SnapshotParserFactory$1 in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.970 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.LiquibaseSchemaResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.970 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.NamespaceDetailsFactory in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
16:25:19.970 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Loaded the class: class liquibase.parser.core.xml.LiquibaseEntityResolver in classloader: jdk.internal.loader.ClassLoaders$AppClassLoader@51931956
......
16:25:20.262 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.pro.packaged.kp]
16:25:20.263 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.pro.packaged.kp matches liquibase.license.LicenseService
16:25:20.309 DEBUG [liquibase.license.LicenseServiceFactory]: Found an implementation of LicenseService named 'liquibase.pro.packaged.kp' with priority 2147483647
16:25:20.309 INFO  [liquibase.integration.commandline.Main]: No Liquibase Pro license key supplied. Please set liquibaseProLicenseKey on command line or in liquibase.properties to use Liquibase Pro features.
16:25:20.309 INFO  [liquibase.integration.commandline.Main]: Liquibase Community 3.10.3 by Datical
16:25:20.310 INFO  [liquibase.integration.commandline.Main]: ####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ## 
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ## 
##  Get advanced features and support at          ##
##      liquibase.com/protrial                    ##
##                                                ##
####################################################
Starting Liquibase at Thu, 19 Nov 2020 16:25:20 UTC (version 3.10.3 #32 built at Mon Oct 12 07:24:42 UTC 2020)
16:25:20.311 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/changelog/' to the Java classpath.
16:25:20.311 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/classpath/groovy-2.5.9.jar' to the Java classpath.
16:25:20.311 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/classpath/groovy-sql-2.5.9.jar' to the Java classpath.
16:25:20.311 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/classpath/spring-core-5.2.4.RELEASE.jar' to the Java classpath.
16:25:20.311 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/classpath/liquibase-groovy-dsl-2.1.2.jar' to the Java classpath.
16:25:20.329 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.database.Database
16:25:20.329 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.database.Database
16:25:20.329 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.database.Database in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.329 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/change
16:25:20.329 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/command
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/changelog
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/database
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/parser
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/precondition
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/datatype
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/serializer
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/sqlgenerator
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/executor
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/snapshot
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/logging
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/diff
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/structure
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/structurecompare
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/lockservice
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/sdk/database
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/ext
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.330 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: liquibase/pro
16:25:20.331 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Database in package: com/datical/liquibase
16:25:20.331 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.database.core.SybaseASADatabase, class liquibase.database.core.DB2Database, class liquibase.database.core.MySQLDatabase, class liquibase.database.core.InformixDatabase, class liquibase.database.core.DerbyDatabase, class liquibase.database.core.PostgresDatabase, class liquibase.database.core.H2Database, class liquibase.database.core.Firebird3Database, class liquibase.database.core.FirebirdDatabase, class liquibase.database.core.MariaDBDatabase, class liquibase.database.core.Ingres9Database, class liquibase.database.core.SQLiteDatabase, class liquibase.database.core.MSSQLDatabase, class liquibase.database.core.SybaseDatabase, class liquibase.database.core.OracleDatabase, class liquibase.database.core.Db2zDatabase, class liquibase.database.core.HsqlDatabase, class liquibase.database.core.UnsupportedDatabase, class liquibase.diff.output.DiffOutputControl$DatabaseForHash, class liquibase.sdk.database.MockDatabase]
16:25:20.332 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.SybaseASADatabase matches liquibase.database.Database
16:25:20.332 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.DB2Database matches liquibase.database.Database
16:25:20.333 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.MySQLDatabase matches liquibase.database.Database
16:25:20.333 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.InformixDatabase matches liquibase.database.Database
16:25:20.333 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.DerbyDatabase matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.PostgresDatabase matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.H2Database matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.Firebird3Database matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.FirebirdDatabase matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.MariaDBDatabase matches liquibase.database.Database
16:25:20.334 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.Ingres9Database matches liquibase.database.Database
16:25:20.335 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.SQLiteDatabase matches liquibase.database.Database
16:25:20.336 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.MSSQLDatabase matches liquibase.database.Database
16:25:20.337 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.SybaseDatabase matches liquibase.database.Database
16:25:20.337 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.OracleDatabase matches liquibase.database.Database
16:25:20.337 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.Db2zDatabase matches liquibase.database.Database
16:25:20.338 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.HsqlDatabase matches liquibase.database.Database
16:25:20.338 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.core.UnsupportedDatabase matches liquibase.database.Database
16:25:20.338 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sdk.database.MockDatabase matches liquibase.database.Database
16:25:20.488 DEBUG [liquibase.database.DatabaseFactory]: Properties:
16:25:20.488 DEBUG [liquibase.database.DatabaseFactory]: Key:'password' Value:'**********'
16:25:20.488 DEBUG [liquibase.database.DatabaseFactory]: Key:'user' Value:'removed'
16:25:20.488 DEBUG [liquibase.database.DatabaseFactory]: Connecting to the URL:'jdbc:postgresql://dell:5432/removed?currentSchema=public' using driver:'org.postgresql.Driver'
16:25:20.489 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.database.DatabaseConnection
16:25:20.489 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.database.DatabaseConnection
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.database.DatabaseConnection in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/change
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/command
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/changelog
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/database
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/parser
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/precondition
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/datatype
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/serializer
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/sqlgenerator
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/executor
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/snapshot
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/logging
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/diff
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/structure
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/structurecompare
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/lockservice
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/sdk/database
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/ext
16:25:20.489 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.490 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: liquibase/pro
16:25:20.490 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseConnection in package: com/datical/liquibase
16:25:20.490 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.database.OfflineConnection, class liquibase.database.MockDatabaseConnection, class liquibase.database.jvm.SybaseASAConnection, class liquibase.database.jvm.SybaseConnection, class liquibase.database.jvm.JdbcConnection, class liquibase.database.jvm.HsqlConnection, class liquibase.database.jvm.DerbyConnection, class com.datical.liquibase.ext.database.jvm.ProJdbcConnection]
16:25:20.493 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.database.jvm.JdbcConnection matches liquibase.database.DatabaseConnection
16:25:20.493 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.database.jvm.ProJdbcConnection matches liquibase.database.DatabaseConnection
16:25:20.582 DEBUG [liquibase.database.DatabaseFactory]: Connection has been created
16:25:20.585 DEBUG [liquibase.database.core.PostgresDatabase]: Connected to removed@jdbc:postgresql://dell:5432/removed?currentSchema=public
16:25:20.585 DEBUG [liquibase.database.core.PostgresDatabase]: Setting auto commit to false from true
16:25:20.601 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.structure.DatabaseObject
16:25:20.601 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.structure.DatabaseObject
16:25:20.601 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.structure.DatabaseObject in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.601 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/change
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/command
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/changelog
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/database
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/parser
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/precondition
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/datatype
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/serializer
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/sqlgenerator
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/executor
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/snapshot
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/logging
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/diff
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/structure
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/structurecompare
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.602 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/lockservice
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/sdk/database
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/ext
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: liquibase/pro
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to DatabaseObject in package: com/datical/liquibase
16:25:20.603 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.changelog.column.LiquibaseColumn, class liquibase.structure.core.Table, class liquibase.structure.core.Catalog, class liquibase.structure.core.Index, class liquibase.structure.core.Schema, class liquibase.structure.core.Column, class liquibase.structure.core.Sequence, class liquibase.structure.core.UniqueConstraint, class liquibase.structure.core.ForeignKey, class liquibase.structure.core.StoredProcedure, class liquibase.structure.core.Data, class liquibase.structure.core.View, class liquibase.structure.core.PrimaryKey, class com.datical.liquibase.ext.storedlogic.function.Function, class com.datical.liquibase.ext.storedlogic.trigger.Trigger, class com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint, class com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody, class com.datical.liquibase.ext.appdba.synonym.Synonym, class com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage]
16:25:20.603 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.changelog.column.LiquibaseColumn matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Table matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Catalog matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Index matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Schema matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Column matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Sequence matches liquibase.structure.DatabaseObject
16:25:20.604 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.UniqueConstraint matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.ForeignKey matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.StoredProcedure matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.Data matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.View matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.structure.core.PrimaryKey matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.function.Function matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.Trigger matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackageBody matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.appdba.synonym.Synonym matches liquibase.structure.DatabaseObject
16:25:20.605 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.DatabasePackage matches liquibase.structure.DatabaseObject
16:25:20.611 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.executor.Executor
16:25:20.611 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.executor.Executor
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.executor.Executor in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/change
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/command
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/changelog
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/database
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/parser
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/precondition
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/datatype
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/serializer
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/sqlgenerator
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/executor
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/snapshot
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/logging
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/diff
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/structure
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/structurecompare
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.611 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/lockservice
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/sdk/database
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/ext
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: liquibase/pro
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to Executor in package: com/datical/liquibase
16:25:20.612 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.executor.LoggingExecutor, class liquibase.executor.jvm.JdbcExecutor, class com.datical.liquibase.ext.OracleSqlPlusExecutor]
16:25:20.613 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.executor.jvm.JdbcExecutor matches liquibase.executor.Executor
16:25:20.613 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.OracleSqlPlusExecutor matches liquibase.executor.Executor
16:25:20.615 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.sqlgenerator.SqlGenerator
16:25:20.615 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.sqlgenerator.SqlGenerator
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.sqlgenerator.SqlGenerator in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/change
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/command
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/changelog
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/database
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/parser
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/precondition
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/datatype
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/serializer
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/sqlgenerator
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/executor
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/snapshot
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/logging
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/diff
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/structure
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/structurecompare
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/lockservice
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/sdk/database
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/ext
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.615 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: liquibase/pro
16:25:20.616 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to SqlGenerator in package: com/datical/liquibase
16:25:20.616 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.sqlgenerator.core.AddUniqueConstraintGeneratorInformix, class liquibase.sqlgenerator.core.DropPrimaryKeyGenerator, class liquibase.sqlgenerator.core.ReorganizeTableGeneratorDB2, class liquibase.sqlgenerator.core.DropColumnGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorOracle, class liquibase.sqlgenerator.core.AddDefaultValueGenerator, class liquibase.sqlgenerator.core.DropDefaultValueGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorSybaseASA, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorSybase, class liquibase.sqlgenerator.core.TagDatabaseGenerator, class liquibase.sqlgenerator.core.ClearDatabaseChangeLogTableGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGenerator, class liquibase.sqlgenerator.core.BatchDmlExecutablePreparedStatementGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorMySQL, class liquibase.sqlgenerator.core.LockDatabaseChangeLogGenerator, class liquibase.sqlgenerator.core.AddAutoIncrementGeneratorHsqlH2, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorPostgres, class liquibase.sqlgenerator.core.DropUniqueConstraintGenerator, class liquibase.sqlgenerator.core.InitializeDatabaseChangeLogLockTableGenerator, class liquibase.sqlgenerator.core.DropViewGenerator, class liquibase.sqlgenerator.core.CopyRowsGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorDB2, class liquibase.sqlgenerator.core.RemoveChangeSetRanStatusGenerator, class liquibase.sqlgenerator.core.DropProcedureGenerator, class liquibase.sqlgenerator.core.CreateSequenceGenerator, class liquibase.sqlgenerator.core.AddAutoIncrementGeneratorMySQL, class liquibase.sqlgenerator.core.AddPrimaryKeyGeneratorInformix, class liquibase.sqlgenerator.core.StoredProcedureGenerator, class liquibase.sqlgenerator.core.RuntimeGenerator, class liquibase.sqlgenerator.core.GetNextChangeSetSequenceValueGenerator, class liquibase.sqlgenerator.core.RenameViewGenerator, class liquibase.sqlgenerator.core.InsertDataChangeGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorSybase, class liquibase.sqlgenerator.core.CommentGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorInformix, class liquibase.sqlgenerator.core.AddAutoIncrementGeneratorInformix, class liquibase.sqlgenerator.core.AddForeignKeyConstraintGenerator, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorSybaseASA, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorPostgres, class liquibase.sqlgenerator.core.SetNullableGenerator, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorInformix, class liquibase.sqlgenerator.core.AddAutoIncrementGeneratorDB2, class liquibase.sqlgenerator.core.CreateIndexGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorSybaseASA, class liquibase.sqlgenerator.core.ModifyDataTypeGenerator, class liquibase.sqlgenerator.core.CreateViewGeneratorInformix, class liquibase.sqlgenerator.core.DropTableGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorDerby, class liquibase.sqlgenerator.core.UpdateGenerator, class liquibase.sqlgenerator.core.AddColumnGeneratorSQLite, class liquibase.sqlgenerator.core.DropForeignKeyConstraintGenerator, class liquibase.sqlgenerator.core.DropSequenceGenerator, class liquibase.sqlgenerator.core.SelectFromDatabaseChangeLogGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorHsql, class liquibase.sqlgenerator.core.RenameColumnGenerator, class liquibase.sqlgenerator.core.MarkChangeSetRanGenerator, class liquibase.sqlgenerator.core.UpdateDataChangeGenerator, class liquibase.sqlgenerator.core.UpdateChangeSetChecksumGenerator, class liquibase.sqlgenerator.core.DropIndexGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorMSSQL, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorFirebird, class liquibase.sqlgenerator.core.InsertSetGenerator, class liquibase.sqlgenerator.core.RenameSequenceGenerator, class liquibase.sqlgenerator.core.SetColumnRemarksGenerator, class liquibase.sqlgenerator.core.AddAutoIncrementGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorMSSQL, class liquibase.sqlgenerator.core.AddPrimaryKeyGenerator, class liquibase.sqlgenerator.core.AddUniqueConstraintGeneratorTDS, class liquibase.sqlgenerator.core.CreateDatabaseChangeLogLockTableGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorPostgres, class liquibase.sqlgenerator.core.InsertGenerator, class liquibase.sqlgenerator.core.RenameTableGenerator, class liquibase.sqlgenerator.core.SelectFromDatabaseChangeLogLockGenerator, class liquibase.sqlgenerator.core.AddUniqueConstraintGenerator, class liquibase.sqlgenerator.core.GetViewDefinitionGeneratorDerby, class liquibase.sqlgenerator.core.TableRowCountGenerator, class liquibase.sqlgenerator.core.CreateTableGeneratorInformix, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorMSSQL, class liquibase.sqlgenerator.core.AddColumnGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorInformix, class liquibase.sqlgenerator.core.SetTableRemarksGenerator, class liquibase.sqlgenerator.core.CreateDatabaseChangeLogTableGeneratorSybase, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorOracle, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorOracle, class liquibase.sqlgenerator.core.AddColumnGeneratorDefaultClauseBeforeNotNull, class liquibase.sqlgenerator.core.CreateProcedureGenerator, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorMySQL, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorSQLite, class liquibase.sqlgenerator.core.CreateIndexGeneratorPostgres, class liquibase.sqlgenerator.core.AlterSequenceGenerator, class liquibase.sqlgenerator.core.AddAutoIncrementGeneratorSQLite, class liquibase.sqlgenerator.core.DeleteGenerator, class liquibase.sqlgenerator.core.RawSqlGenerator, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorH2, class liquibase.sqlgenerator.core.CreateTableGenerator, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorHsql, class liquibase.sqlgenerator.core.UnlockDatabaseChangeLogGenerator, class liquibase.sqlgenerator.core.CreateIndexGeneratorFirebird, class liquibase.sqlgenerator.core.CreateDatabaseChangeLogTableGenerator, class liquibase.sqlgenerator.core.ReindexGeneratorSQLite, class liquibase.sqlgenerator.core.InsertOrUpdateGeneratorDB2, class liquibase.sqlgenerator.core.CreateViewGenerator, class liquibase.sqlgenerator.core.AddDefaultValueGeneratorSQLite, class com.datical.liquibase.ext.appdba.synonym.change.CreateSynonymGenerator, class com.datical.liquibase.ext.storedlogic.function.change.CreateFunctionGenerator, class com.datical.liquibase.ext.storedlogic.checkconstraint.change.EnableCheckConstraintGenerator, class com.datical.liquibase.ext.storedlogic.trigger.change.DropTriggerGenerator, class com.datical.liquibase.ext.storedlogic.checkconstraint.change.DisableCheckConstraintGenerator, class com.datical.liquibase.ext.storedlogic.databasepackage.change.CreatePackageBodyGenerator, class com.datical.liquibase.ext.storedlogic.databasepackage.change.DropPackageGenerator, class com.datical.liquibase.ext.storedlogic.trigger.change.DisableTriggerGenerator, class com.datical.liquibase.ext.storedlogic.trigger.change.EnableTriggerGenerator, class com.datical.liquibase.ext.storedlogic.trigger.change.CreateTriggerGenerator, class com.datical.liquibase.ext.storedlogic.function.change.DropFunctionGenerator, class com.datical.liquibase.ext.storedlogic.trigger.change.RenameTriggerGenerator, class com.datical.liquibase.ext.appdba.markunused.change.MarkUnusedGenerator, class com.datical.liquibase.ext.storedlogic.databasepackage.change.CreatePackageGenerator, class com.datical.liquibase.ext.storedlogic.checkconstraint.change.AddCheckConstraintGenerator, class com.datical.liquibase.ext.appdba.synonym.change.DropSynonymGenerator, class com.datical.liquibase.ext.storedlogic.checkconstraint.change.DropCheckConstraintGenerator, class com.datical.liquibase.ext.storedlogic.databasepackage.change.DropPackageBodyGenerator]
16:25:20.616 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddUniqueConstraintGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.616 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropPrimaryKeyGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.ReorganizeTableGeneratorDB2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropColumnGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorOracle matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropDefaultValueGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorSybaseASA matches liquibase.sqlgenerator.SqlGenerator
16:25:20.617 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorSybase matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.TagDatabaseGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.ClearDatabaseChangeLogTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.BatchDmlExecutablePreparedStatementGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorMySQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.LockDatabaseChangeLogGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGeneratorHsqlH2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.618 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorPostgres matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropUniqueConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InitializeDatabaseChangeLogLockTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropViewGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CopyRowsGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorDB2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RemoveChangeSetRanStatusGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropProcedureGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateSequenceGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.619 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGeneratorMySQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddPrimaryKeyGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.StoredProcedureGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RuntimeGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetNextChangeSetSequenceValueGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RenameViewGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertDataChangeGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorSybase matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CommentGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.620 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.621 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddForeignKeyConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.621 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorSybaseASA matches liquibase.sqlgenerator.SqlGenerator
16:25:20.621 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorPostgres matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.SetNullableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGeneratorDB2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateIndexGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorSybaseASA matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.ModifyDataTypeGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.622 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateViewGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorDerby matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.UpdateGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddColumnGeneratorSQLite matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropForeignKeyConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.623 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropSequenceGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.SelectFromDatabaseChangeLogGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorHsql matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RenameColumnGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.MarkChangeSetRanGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.UpdateDataChangeGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.624 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.UpdateChangeSetChecksumGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DropIndexGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorMSSQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorFirebird matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertSetGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RenameSequenceGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.SetColumnRemarksGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorMSSQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.625 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddPrimaryKeyGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddUniqueConstraintGeneratorTDS matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateDatabaseChangeLogLockTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorPostgres matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RenameTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.SelectFromDatabaseChangeLogLockGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddUniqueConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.GetViewDefinitionGeneratorDerby matches liquibase.sqlgenerator.SqlGenerator
16:25:20.626 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.TableRowCountGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateTableGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorMSSQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddColumnGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorInformix matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.SetTableRemarksGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateDatabaseChangeLogTableGeneratorSybase matches liquibase.sqlgenerator.SqlGenerator
16:25:20.627 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorOracle matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorOracle matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddColumnGeneratorDefaultClauseBeforeNotNull matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateProcedureGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorMySQL matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorSQLite matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateIndexGeneratorPostgres matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AlterSequenceGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.628 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddAutoIncrementGeneratorSQLite matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.DeleteGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.RawSqlGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorH2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorHsql matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.UnlockDatabaseChangeLogGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateIndexGeneratorFirebird matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateDatabaseChangeLogTableGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.ReindexGeneratorSQLite matches liquibase.sqlgenerator.SqlGenerator
16:25:20.629 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.InsertOrUpdateGeneratorDB2 matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.CreateViewGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.sqlgenerator.core.AddDefaultValueGeneratorSQLite matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.appdba.synonym.change.CreateSynonymGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.function.change.CreateFunctionGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.checkconstraint.change.EnableCheckConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.change.DropTriggerGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.630 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.checkconstraint.change.DisableCheckConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.change.CreatePackageBodyGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.change.DropPackageGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.change.DisableTriggerGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.change.EnableTriggerGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.change.CreateTriggerGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.function.change.DropFunctionGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.trigger.change.RenameTriggerGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.appdba.markunused.change.MarkUnusedGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.631 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.change.CreatePackageGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.632 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.checkconstraint.change.AddCheckConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.632 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.appdba.synonym.change.DropSynonymGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.632 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.checkconstraint.change.DropCheckConstraintGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.632 DEBUG [liquibase.servicelocator.ServiceLocator]: com.datical.liquibase.ext.storedlogic.databasepackage.change.DropPackageBodyGenerator matches liquibase.sqlgenerator.SqlGenerator
16:25:20.656 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.parser.ChangeLogParser
16:25:20.656 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator finding classes matching interface liquibase.parser.ChangeLogParser
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for implementations of liquibase.parser.ChangeLogParser in packages: [liquibase.change, liquibase.command, liquibase.changelog, liquibase.database, liquibase.parser, liquibase.precondition, liquibase.datatype, liquibase.serializer, liquibase.sqlgenerator, liquibase.executor, liquibase.snapshot, liquibase.logging, liquibase.diff, liquibase.structure, liquibase.structurecompare, liquibase.lockservice, liquibase.sdk.database, liquibase.ext, liquibase.pro, com.datical.liquibase]
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/change
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/command
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/changelog
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/database
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/parser
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/precondition
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/datatype
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/serializer
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/sqlgenerator
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/executor
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/snapshot
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/logging
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/diff
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/structure
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/structurecompare
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/structurecompare
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/lockservice
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/sdk/database
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/ext
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: No classes found in package: liquibase/ext
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: liquibase/pro
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Searching for: is assignable to ChangeLogParser in package: com/datical/liquibase
16:25:20.656 DEBUG [liquibase.servicelocator.DefaultPackageScanClassResolver]: Found: [class liquibase.parser.core.yaml.YamlChangeLogParser, class liquibase.parser.core.formattedsql.FormattedSqlChangeLogParser, class liquibase.parser.core.json.JsonChangeLogParser, class liquibase.parser.core.sql.SqlChangeLogParser, class liquibase.parser.core.xml.XMLChangeLogSAXParser]
16:25:20.658 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.parser.core.yaml.YamlChangeLogParser matches liquibase.parser.ChangeLogParser
16:25:20.658 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.parser.core.formattedsql.FormattedSqlChangeLogParser matches liquibase.parser.ChangeLogParser
16:25:20.658 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.parser.core.json.JsonChangeLogParser matches liquibase.parser.ChangeLogParser
16:25:20.658 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.parser.core.sql.SqlChangeLogParser matches liquibase.parser.ChangeLogParser
16:25:20.659 DEBUG [liquibase.servicelocator.ServiceLocator]: liquibase.parser.core.xml.XMLChangeLogSAXParser matches liquibase.parser.ChangeLogParser
16:25:20.681 DEBUG [liquibase.executor.jvm.JdbcExecutor]: Executing with the 'jdbc' executor
16:25:20.682 DEBUG [liquibase.executor.jvm.JdbcExecutor]: SET SEARCH_PATH TO public
16:25:20.682 DEBUG [liquibase.executor.jvm.JdbcExecutor]: 0 row(s) affected
16:25:20.683 ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: Cannot find parser that supports master.groovy
liquibase.exception.UnknownChangelogFormatException: Cannot find parser that supports master.groovy
	at liquibase.parser.ChangeLogParserFactory.getParser(ChangeLogParserFactory.java:73)
	at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215)
	at liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:1234)
	at liquibase.Liquibase.reportStatus(Liquibase.java:1299)
	at liquibase.integration.commandline.Main.doMigration(Main.java:1597)
	at liquibase.integration.commandline.Main.run(Main.java:303)
	at liquibase.integration.commandline.Main.main(Main.java:159)

Tags deleted from DockerHub

Hello,

Today our pipelines started breaking as image tags that they depend on have been deleted from DockerHub.
Would it be possible for you to restore them?

Unfortunately, DockerHub doesn't seem to enforce tag immutability and allows deletion as well, but it would be really great if you could change your deployment process so it keeps existing tags. Otherwise, any kind of dependency on liquibase images becomes nearly impossible to manage.

Cheers,
Bojan

Examples have incorrect path to mounted files

When running the commands on my Ubuntu machine and mounting the path as described, --changelogFile="/liquibase/changelog/changelog-master.yml" is not found. The reason is that the initial PWD when I exec into the container is /liquibase already.

I used --changelogFile="changelog/changelog-master.yml" to correct the issue.

Documentation error: changeLogFile cannot be found on the mounted /liquibase/changelog folder

I am migrating liquibase execution from a SpringBoot application to a stand alone docker container execution. I wanted to keep the same folder structure that the SB app was using.

On the "Changelog Files" section it is specified that:
"Your --changeLogFile argument should list paths relative to /liquibase/changelog"
And an example is given.

I tried to run a similar command within my docker-compose project:
liquibase:
image: liquibase/liquibase:3.10.3
command: --url="jdbc:mysql://mysql/focalpoint-dev" --username=focalpoint --password=hola --changeLogFile=db/changelog/db.changelog-master.yaml update
volumes:
- /home/vagrant/src/focalpoint/focalpoint/src/main/resources/:/liquibase/changelog:z

I would get the following error:

"Unexpected error running Liquibase: db/changelog/db.changelog-master.yaml does not exist"

To fix this I would either have to:

  • Add the full changelog file path like this: /liquibase/changelog/db/changelog/db.changelog-master.yaml
  • Add the "--classpath=/liquibase/changelog" argument to the command (this seems to allow to use relative path instead of the absolutepath).

Maybe this should be mentioned on the Changelog Files section and examples.

Using path name starting with "./" creates double paths using the includeAll tag

STR
Create a master changelog with the includeAll tag referencing a subfolder with a path starting with "./"

For example:
<?xml version="1.1" encoding="UTF-8" standalone="no"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-4.1.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd"> <includeAll path="./sql" relativeToChangelogFile="true"/> </databaseChangeLog>

Run: liquibase status
$ docker run --rm -v /Users/support.liquibase.net/CLI-Projects/MSSQL_Jenkins/DEV/changeLogs/:/liquibase/changelog liquibase/liquibase:latest --url="jdbc:sqlserver://hostname;database=DEV;" --changeLogFile=changelog/changeLog.xml --username=sa --password=password status --verbose ... Starting Liquibase at 12:25:53 (version 4.4.2 #39 built at 2021-07-22 18:11+0000) Liquibase Version: 4.4.2 Liquibase Community 4.4.2 by Datical 18 change sets have not been applied to sa@jdbc:sqlserver://host:port#;maxResultBuffer=-1;sendTemporalDataTypesAsStringForBulkCopy=true;delayLoadingLobs=true;useFmtOnly=false;useBulkCopyForBatchInsert=false;cancelQueryTimeout=-1;sslProtocol=TLS;jaasConfigurationName=SQLJDBCDriver;statementPoolingCacheSize=0;serverPreparedStatementDiscardThreshold=10;enablePrepareOnFirstPreparedStatementCall=false;fips=false;socketTimeout=0;authentication=NotSpecified;authenticationScheme=nativeAuthentication;xopenStates=false;sendTimeAsDatetime=true;trustStoreType=JKS;trustServerCertificate=false;TransparentNetworkIPResolution=true;serverNameAsACE=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;queryTimeout=-1;packetSize=8000;multiSubnetFailover=false;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=DEV;columnEncryptionSetting=Disabled;applicationName=Microsoft JDBC Driver for SQL Server;applicationIntent=readwrite; changelog/./sql/changeLog.sql::createTable_salesTableZ::SteveZ changelog/./sql/changeLog.sql::insertInto_salesTableZ::SteveZ changelog/./sql/changeLog.sql::createTable_CustomerInfo::SteveZ changelog/./sql/changeLog.sql::addPrimaryKey_pk_CustomerTypeID::Martha changelog/./sql/changeLog.sql::CustomerInfo_ADD_address::Amy changelog/./sql/changeLog.sql::CREATE_PROCEDURE_[dbo].[CustOrderHist1]::Mike changelog/./sql/changeLog.sql::CREATE_PROCEDURE_[dbo].[CustOrderHist2]::Mike changelog/./sql/changeLog.sql::ALTER_PROCEDURE_[dbo].[CustOrderHist2]::Kevin changelog/./sql/changeLog.sql::createTable_salesTableZ2::SteveZ changelog/sql/changeLog.sql::createTable_salesTableZ::SteveZ changelog/sql/changeLog.sql::insertInto_salesTableZ::SteveZ changelog/sql/changeLog.sql::createTable_CustomerInfo::SteveZ changelog/sql/changeLog.sql::addPrimaryKey_pk_CustomerTypeID::Martha changelog/sql/changeLog.sql::CustomerInfo_ADD_address::Amy changelog/sql/changeLog.sql::CREATE_PROCEDURE_[dbo].[CustOrderHist1]::Mike changelog/sql/changeLog.sql::CREATE_PROCEDURE_[dbo].[CustOrderHist2]::Mike changelog/sql/changeLog.sql::ALTER_PROCEDURE_[dbo].[CustOrderHist2]::Kevin changelog/sql/changeLog.sql::createTable_salesTableZ2::SteveZ Liquibase command 'status' was executed successfully.

Notice that Liquibase generate double entries for each changeset.

Adding tags to the docker images

Hi,
Is it possible to tag the liquibase images on Docker by liquibase version? This is so that we can pull only a specific liquibase version.

Thanks!

`update` failed using the latest liquibase image

Hi! When we tried to run docker run --rm liquibase/liquibase update today with the latest docker image, the following error poped up:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"update\": executable file not found in $PATH": unknown.

This never happened before with previous images, but since the previous docker tags on DockerHub were deleted, there's no way for us to go back and pin to an older version ... Could you consider updating your workflow to not delete existing docker tags but rather append new tags to the list?

ERROR liquibase.integration.commandline.Main when using command in docker-compose

I get this error when using this in docker-compose

liquibase_dev | 11:08:52.578 [main] DEBUG liquibase.resource.ClassLoaderResourceAccessor - Opening jar:file:/liquibase/liquibase.jar!/liquibase.build.properties as liquibase.build.properties
liquibase_dev | 11:08:52.626 [main] INFO liquibase.integration.commandline.Main - Starting Liquibase at Mon, 04 May 2020 11:08:52 UTC (version 3.8.9 #73 built at Mon Apr 06 09:32:58 UTC 2020)
liquibase_dev | 11:08:52.626 [main] WARN liquibase.integration.commandline.Main - To display the help, please pass the '--help' option on the command line.
liquibase_dev | 11:08:52.627 [main] ERROR liquibase.integration.commandline.Main - Unexpected error running Liquibase: Unexpected value 'java' (options must start with a '--')
liquibase_dev | 11:08:52.627 [main] ERROR liquibase.integration.commandline.Main - For more information, please use the --logLevel flag
liquibase_dev | 11:08:52.645 [main] ERROR liquibase.integration.commandline.Main - Unexpected error running Liquibase: Unexpected value 'java' (options must start with a '--')
liquibase_dev | liquibase.exception.CommandLineParsingException: Unexpected value 'java' (options must start with a '--')
liquibase_dev |      at liquibase.integration.commandline.Main.parseOptions(Main.java:1109)
liquibase_dev |      at liquibase.integration.commandline.Main.run(Main.java:253)
liquibase_dev |      at liquibase.integration.commandline.Main.main(Main.java:162)
liquibase_dev exited with code 255

my liquibase setting:

  liquibase:
    container_name: liquibase_dev
    image: liquibase/liquibase
    command:  java -jar liquibase.jar --logLevel=DEBUG  --changeLogFile=changelog.postgresql.sql generateChangeLog
    depends_on:
      - postgres
    networks:
      slate_network:
          ipv4_address: 172.28.1.2

This is not even picking up liquibase.properties there in my project's root directory where docker-compose.yml is.
Please Help!

Connecting to Oracle requires correct TimeZone

Timezone is not set inside docker container so that I cannot connect to oracle directly. An error of ORA-01882 occurs. May be some option to initialize container timezone is needed.

SECURITY VULNERABILITY in docker images

Hi,

Using Docker image liquibase/liquibase:4.6.2 as base image and running a trivy security scan on image generates following...

Java (jar)

Total: 1 (HIGH: 0, CRITICAL: 1)

+-------------------+------------------+----------+-------------------+---------------+---------------------------------------+
| LIBRARY | VULNERABILITY ID | SEVERITY | INSTALLED VERSION | FIXED VERSION | TITLE |
+-------------------+------------------+----------+-------------------+---------------+---------------------------------------+
| com.h2database:h2 | CVE-2021-23463 | CRITICAL | 1.4.200 | 2.0.202 | h2database: XXE |
| | | | | | injection vulnerability |
| | | | | | -->avd.aquasec.com/nvd/cve-2021-23463 |
+-------------------+------------------+----------+-------------------+---------------+---------------------------------------+

bash not found

docker run -v $PWD/src/main/resources/db/changelog:/liquibase/changelog \
  --network service-db-main-migration_net \
  liquibase/liquibase:3.10.x \
  --changeLogFile /liquibase/changelog/db.changelog-master.xml \
  --url=jdbc:postgresql://nuvola.db:5432/briggo_production \
  --logLevel=info \
  --contexts=test \
  --driver=org.postgresql.Driver \
  --username=postgres \
  --password=DontUseThisPassword \
  update || ( docker-compose -f docker/github/docker-compose.yml logs && exit 1)
  shell: /bin/bash -e {0}
7b59e5bff284: Download complete
2d74cee1d142: Verifying Checksum
2d74cee1d142: Download complete
80a8dd427fd7: Verifying Checksum
80a8dd427fd7: Download complete
1da8cfc7fd0c: Verifying Checksum
1da8cfc7fd0c: Download complete
b6abafe80f63: Pull complete
f235467ca4dd: Pull complete
80bfc14f7149: Pull complete
86df353038e8: Pull complete
45d35ea0921b: Pull complete
999fa03fc7c0: Pull complete
4063048b32f7: Pull complete
d0c77342a5b1: Pull complete
fb1414450605: Pull complete
9d1de4ce3c3a: Pull complete
285ac78f3f78: Pull complete
9ac934dc6b12: Pull complete
2d74cee1d142: Pull complete
7dab49f9930f: Pull complete
7b59e5bff284: Pull complete
80a8dd427fd7: Pull complete
1da8cfc7fd0c: Pull complete
Digest: sha256:084ac35ad21c7ed860c48d94fe50d3b71caab90675935f09bec3b0d02124e4fa
Status: Downloaded newer image for liquibase/liquibase:3.10.x
env: can't execute 'bash': No such file or directory
.FileNotFoundError: [Errno 2] No such file or directory: './docker/github/docker-compose.yml' # this piece is actually an error in my script, but the can't execute bash is coming from trying to run bash in alpine
##[error]Process completed with exit code 1

note this changed with the release today

diff command does not produce any changelog file

I used "diff" command to generate changelog file by comparing two databases(Postgres and Oracle). Though command executed successfully it does not produce any changelog file.
Command

docker run --rm -v //d/liqbase:/changelogs <image> --changeLogFile=diffChangeLog.xml --outputFile=mydiff.txt --url="jdb
c:postgresql://<postgres ip>:5432/<db name>?currentSchema=public" --username="<usr>" --password="<pwd>" --referenceU
rl="jdbc:oracle:thin:@<oracle ip>:1521/<SID>" --referenceUsername="<db name>" --referencePassword="<pwd>" diff

Result

Liquibase Community 3.10.0 by Datical
Diff Results:
Liquibase command 'diff' was executed successfully.

gpg: Can't check signature: No public key

Is it only me who encountering this error while building docker image?

UN wget --no-verbose -O /liquibase/lib/postgresql.jar https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.20/postgresql-42.2.20.jar 	&& wget --no-verbose -O /liquibase/lib/postgresql.jar.asc https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.20/postgresql-42.2.20.jar.asc     && gpg --auto-key-locate keyserver --keyserver ha.pool.sks-keyservers.net --keyserver-options auto-key-retrieve --verify /liquibase/lib/postgresql.jar.asc /liquibase/lib/postgresql.jar 	&& echo "36cc2142f46e8f4b77ffc1840ada1ba33d96324f  /liquibase/lib/postgresql.jar" | sha1sum -c -
#30 sha256:2e4afbe3e9f280188f69b4265a55457b7cb972a5258cdd7c2dcae5d71ee8bb3d
#30 0.249 2021-06-27 07:15:45 URL:https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.20/postgresql-42.2.20.jar [1005347/1005347] -> "/liquibase/lib/postgresql.jar" [1]
#30 0.308 2021-06-27 07:15:45 URL:https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.20/postgresql-42.2.20.jar.asc [821/821] -> "/liquibase/lib/postgresql.jar.asc" [1]
#30 0.313 gpg: directory '/home/liquibase/.gnupg' created
#30 0.315 gpg: keybox '/home/liquibase/.gnupg/pubring.kbx' created
#30 0.322 gpg: Signature made Thu Apr 22 12:26:39 2021 UTC
#30 0.323 gpg:                using RSA key 307A96FBA0292109
#30 0.369 gpg: requesting key 307A96FBA0292109 from hkp server ha.pool.sks-keyservers.net
#30 0.444 gpg: Can't check signature: No public key

Liquibase History command fails assuming it is an OS command

When testing Liquibase Docker image with GitHub Actions, it appears that unlike other commands, the Liquibase History command fails.
It looks like the Liquibase History command is logically being considered as a Linux OS history command first before being considered as a Liquibase command.

Steps to reproduce

  1. Set a GitHub workflow with Liquibase Docker image and a job with the history command.
  Build_Job:
    runs-on: ubuntu-latest
    environment: 
      name: DEV

    steps:
    - uses: actions/checkout@v2
    
    - name: Running the history command
      uses: docker://liquibase/liquibase:snowflake
      with:
        args: history
  1. Run the workflow.

Actual results
Run docker://liquibase/liquibase:snowflake /usr/bin/docker run --name liquibaseliquibasesnowflake_963cf4 --label e28490 --workdir /github/workspace --rm -e LB_VERSION -e ***_PRO_LICENSE_KEY -e ***_COMMAND_URL -e ***_COMMAND_USERNAME -e ***_COMMAND_PASSWORD -e ***_COMMAND_CHANGELOG_FILE -e ***_HUB_API_KEY -e INPUT_ARGS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/Snowflake/Snowflake":"/github/workspace" liquibase/liquibase:snowflake history /liquibase/docker-entrypoint.sh: line 10: exec: history: not found

URL not found when using properties file

root@host1:~/db1local# docker run --rm -v /root/db1local:/liquibase/changelog liquibase/liquibase --changeLogFile="dbchangelog.xml" --defaultsFile=/root/db1local/liquibase.docker.properties update
Liquibase Community 4.3.2 by Datical
####################################################
##   _     _             _ _                      ##
##  | |   (_)           (_) |                     ##
##  | |    _  __ _ _   _ _| |__   __ _ ___  ___   ##
##  | |   | |/ _` | | | | | '_ \ / _` / __|/ _ \  ##
##  | |___| | (_| | |_| | | |_) | (_| \__ \  __/  ##
##  \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___|  ##
##              | |                               ##
##              |_|                               ##
##                                                ##
##  Get documentation at docs.liquibase.com       ##
##  Get certified courses at learn.liquibase.com  ##
##  Free schema change activity reports at        ##
##      https://hub.liquibase.com                 ##
##                                                ##
####################################################
Starting Liquibase at 23:29:35 (version 4.3.2 #44 built at 2021-03-23 14:01+0000)
Errors:
  **The option --url is required.**

root@host1:~/db1local#
root@host1:~/db1local#
root@host1:~/db1local#
root@host1:~/db1local# pwd
/root/db1local
root@host1:~/db1local# ls -al
total 24
drwxrwxrwx  4 root root  122 Apr 14 23:29 .
drwx------ 12 root root 4096 Apr 14 23:29 ..
-rwxrwxrwx  1 root root  164 Apr 13 19:45 1
drwxrwxrwx  2 root root   64 Apr 14 15:51 base
drwxrwxrwx  2 root root   35 Apr 13 21:15 data
-rwxrwxrwx  1 root root  410 Apr 13 19:45 dbchangelog.xml
-rwxrwxrwx  1 root root  187 Apr 14 23:29 liquibase.docker.properties
root@host1:~/db1local# cat liquibase.docker.properties
classpath: /liquibase/changelog
url: jdbc:postgresql://192.168.1.20:5432/testdb?currentSchema=public
changeLogFile: /root/db1local/dbchangelog.xml
username: user1l
password: user1l

3.10.x/latest JDBC ERROR: Connection could not be created to ... Possibly the wrong driver for the given database URL

Hi there,

I am using the following statement inside the Container created from the Liquibase Docker Image to update my Database.

/liquibase/liquibase --logLevel=debug --classpath="/liquibase/lib/ojdbc10-19.6.0.0.jar" --driver=oracle.jdbc.OracleDriver --url=jdbc:oracle:thin:@//...... --changeLogFile=/liquibase/changelog/changelog-master.xml --username=${USERNAME} --password=${PASSWORD} update

When using an older latest Image from the 20th of July, the execution of the statement (with a valid url) works without any errors being thrown.
However running the same statement (with a valid url) results in the following ERROR with version latest and 3.10.x.

ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:126)
        at liquibase.integration.commandline.Main.doMigration(Main.java:1338)
        at liquibase.integration.commandline.Main.run(Main.java:300)
        at liquibase.integration.commandline.Main.main(Main.java:159)
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:259)
        at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:149)
        at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:91)
        ... 3 common frames omitted
Caused by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:35)
        at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:256)
        ... 5 common frames omitted
Caused by: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//... with driver oracle.jdbc.OracleDriver.  Possibly the wrong driver for the given database URL
        at liquibase.database.jvm.JdbcConnection.open(JdbcConnection.java:45)
        at com.datical.liquibase.ext.database.jvm.ProJdbcConnection.open(Unknown Source)
        at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:32)
        ... 6 common frames omitted

I have already tested ojdbc8-19.3.0.0.0 and ojdbc10-19.3.0.0.0, 19.6.0.0.0, with the same results.

custom extension not detected by docker image

I'm trying to use a custom extension we made with the docker image.

The extension (CreateTableGeneratorMySqlRowFormatDynamic) modifies each CREATE TABLE- statement to add ROW_FORMAT=DYNAMIC to it (for MySQL 5.6). (https://gist.github.com/imod/49ecf35fcf783e44fa031cb5bb27573e)

I package it in to a jar and add the jar to the classpath:

docker run --rm -v /Users/domi/work/ws/xxx/persistence/target/liquibase:/liquibase/classpath \
-v /Users/domi/work/ws/yoo/persistence/src/main/resources/mydb/db/:/liquibase/changelog/ \
liquibase/liquibase:3.10.x \
--url="$DB_URL" \
--changeLogFile=/liquibase/changelog/db.changelog-master.xml \
--username="$DB_USERNAME" \
--password="$DB_PASSWORD" \
--logLevel=debug \
--classpath=/liquibase/changelog:/liquibase/classpath/mytools.jar \
update

To check if this all works fine, I have changeSet which verifies the correctness for each liquibase run:

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.3.xsd"
	logicalFilePath="db.changelog-init_default_settings.xml">

	<changeSet id="drop foo table if exists" author="Dominik Bartholdi" runAlways="true" dbms="mysql,mariadb">
		<preConditions onFail="CONTINUE">
			<tableExists tableName="foo" />
		</preConditions>
		<comment>make sure we always create a new table to do a check on it</comment>
		<dropTable tableName="foo" />
	</changeSet>

	<changeSet id="create foo table" author="Dominik Bartholdi" runAlways="true" dbms="mysql,mariadb">
		<comment>this creates a dummy table we only use to check if tables get created with the correct ROW_FORMAT</comment>
		<createTable tableName="foo">
			<column name="dummy" type="VARCHAR(10)" />
		</createTable>
	</changeSet>

	<changeSet id="check foo for correct row_format" author="Dominik Bartholdi" dbms="mysql,mariadb" runAlways="true">
		<preConditions onFail="HALT">
			<sqlCheck expectedResult="DYNAMIC">SELECT UPPER(ROW_FORMAT) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'foo' AND TABLE_SCHEMA=DATABASE();</sqlCheck>
		</preConditions>
		<comment>because we rely on the tables being created with the correct ROW_FORMAT per default, we must check for this at every run!</comment>
		<dropTable tableName="foo" />
	</changeSet>

</databaseChangeLog>

Now, because the extension does not get applied, i get this error:

10:44:55.509 ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: Preconditions Failed
liquibase.exception.MigrationFailedException: Migration failed for change set mydb/db/changelog/db.changelog-init_default_settings.xml::check foo for correct row_format::Dominik Bartholdi:
     Reason: 
          /liquibase/changelog/db.changelog-master.xml : SQL Precondition failed.  Expected 'DYNAMIC' got 'COMPACT'

When I run liquibase with debug, then I do see that the extension jar gets added to the classpath:

Starting Liquibase at Tue, 01 Dec 2020 11:09:06 UTC (version 3.10.3 #32 built at Mon Oct 12 07:24:42 UTC 2020)
11:09:06.510 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/changelog/' to the Java classpath.
11:09:06.512 DEBUG [liquibase.integration.commandline.Main]: Adding 'file:/liquibase/classpath/mytools.jar' to the Java classpath.
11:09:06.534 DEBUG [liquibase.servicelocator.ServiceLocator]: ServiceLocator.findClasses for liquibase.database.Database

But I do not see this output, which I see when I run the changeset with the maven plugin:

[DEBUG] liquibase.sqlgenerator.ext.copy.CreateTableGeneratorMySqlRowFormatDynamic matches liquibase.sqlgenerator.SqlGenerator

The full log can be found here: https://gist.github.com/imod/49ecf35fcf783e44fa031cb5bb27573e#file-debug-log

Just to confirm: this all works when I run it with the liquibase maven plugin (https://docs.liquibase.com/tools-integrations/maven/commands/maven-update.html) - but we need be able to execute the changesets without maven and therefore wanna use docker.

add tag 3

should be possible to do liquibase/liquibase:3 so that when 4 hits we aren't automatically upgraded, in theory there should also be a 3.8 and a 3.8.9 etc, but I mostly care about that major version.

Facing issue in connecting with Google CloudSQL instance using CloudAuth proxy (running on GKE) from Liquibase Init container

Hi All,

We are trying to connect with Google CloudSQL instance using CloudAuth proxy from the liquibase init container but it;s not working. Liquibase container is continuously restarting and doesn't show anything in the logs. So it's getting difficult to troubleshoot the issue.

Here's what we did.
1.) Removed following line from Dockerfile and moved it in k8s Deployment yaml file as shown in Step 2.

CMD ["sh", "-c", "docker-entrypoint.sh --url=${URL} --username=${USERNAME} --password=${PASSWORD} --classpath=/liquibase/changelog --changeLogFile=relative/changelog.xml update"]

2.) Please see below the InitContainers snippet from Deployment yaml file.

datasource.url, datasource.username and datasource.password properties are defined in K8s secrets object.

datasource.url property value uses Cloud Auth proxy service name (running on GKE cluster). We use that proxy in all our applications to securely connect with CloudSQL instance.

initContainers:
- name: liquibase
image: DockerImageName
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: SecretName
command: ["/bin/sh"]
args: ["-c", "docker-entrypoint.sh --url=${datasource.url} --username=${datasource.username} --password=${datasource.password} --classpath=/liquibase/changelog --changeLogFile=db.changelog-master.yaml update"]

Question
Since CloudAuth proxy is already referring to k8s secrets object to connectwith Cloud SQL instance, do we still need to pass url, username and password parameters in docker-entrypoint.sh command? Any help in this context will be appreciated.

Not able to run generateChangeLog on existing DB

Tried many different ways to generate changelog on existing DB, no solution yet.
I either get "permission denied" or "No such file or directory"
Unexpected error running Liquibase: java.io.FileNotFoundException: /db/changelog.xml (No such file or directory)

This is the command I am running:
docker run --rm --net="host" -v /home/administrator/liquibase/HR/changelog:/liquibase/changelog liquibase/liquibase:latest --url="jdbc:sqlserver://xx.xx.xx.xx:1433;databaseName=liquibasedb;integratedSecurity=false;" --changeLogFile=db/changelog.xml --classpath=/liquibase/changelog --username="sa" --password="#####" generateChangeLog

STOP UPDATING BASE IMAGE FOR PUBLISHED TAGS!

Sorry for the caps lock, but this is ridiculous. 2 base image changes since yesterday. How can we rely on that?
If you're struggling to set up an immutable tags workflow, just let us know. We're happy to help.

Error parsing line 1 column 1 of changelog.xml: Premature end of file

I'm getting an exception when trying to run the liquibase update command using a docker image built using liquibase/docker.

13:52:03.674 ERROR [liquibase.integration.commandline.Main]: Unexpected error running Liquibase: Premature end of file.
liquibase.exception.ChangeLogParseException: Error parsing line 1 column 1 of changelog.xml: Premature end of file.
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:120)
at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:15)
at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217)
at liquibase.Liquibase.update(Liquibase.java:190)
at liquibase.Liquibase.update(Liquibase.java:179)
at liquibase.integration.commandline.Main.doMigration(Main.java:1649)
at liquibase.integration.commandline.Main.run(Main.java:303)
at liquibase.integration.commandline.Main.main(Main.java:163)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1014)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:112)
... 7 common frames omitted

Command

docker run --network host -v changelog.xml:/liquibase/changelog.xml 3pr-migrations --url=jdbc:mysql://localhost:3306/tprportal?serverTimezone=UTC --driver=com.mysql.cj.jdbc.Driver --classpath=/usr/share/java/mysql-jdbc.jar --changeLogFile=changelog.xml --username=portalapi --password=password --logLevel=debug  update

My Dockerfile just copies the mysql jdbc driver into /usr/share/java/ since the mysql driver isn't included in your image.

FROM liquibase/liquibase

ARG jdbc_driver_version
ENV jdbc_driver_version=${jdbc_driver_version:-8.0.19}
ENV jdbc_driver_download_url=https://repo1.maven.org/maven2/mysql/mysql-connector-java/${jdbc_driver_version}

USER root

RUN set -x -e pipefail;\
    echo "JDBC DRIVER VERSION: $jdbc_driver_version";\
    jarfile=mysql-connector-java-${jdbc_driver_version}.jar;\
    curl -SOLs ${jdbc_driver_download_url}/${jarfile};\
    mv ${jarfile} /usr/share/java/mysql-jdbc.jar;\
    chmod 755 /usr/share/java/mysql-jdbc.jar;

USER liquibase

changelog.xml

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.7.xsd" >
    <changeSet author="brandonfleming" id="create_table_reports">
        <sqlFile encoding="utf8" path="./migrations/create_table_reports.sql" relativeToChangeLogFile="true" />
        <rollback>
            <sqlFile encoding="utf8" path="./migrations/create_table_reports.rollback.sql" relativeToChangeLogFile="true" />
        </rollback>
    </changeSet>
</databaseChangeLog>

3.10.x build on dockerhub is broken

when I run latest / 3.10.x image from dockerhub it's failed with error:

starting container process caused "exec: \"docker-entrypoint.sh\": executable file not found in $PATH": unknown.

changeLogfile command not found

I'm using liquibase docker image to run the DCM for snowflake. however I'm getting following error message, pls. find the azure pipeline.yml file for reference:

Starter pipeline

Start with a minimal pipeline that you can customize to build and deploy your code.

Add steps that build, run tests, deploy, and more:

https://aka.ms/yaml

trigger:
branches:
include:
- main
paths:
include:
- /dbscripts
pool:
vmImage: 'ubuntu-18.04'
variables:

  • group: demo-variables-liquibase
    steps:

  • script: docker pull liquibase/liquibase:latest

  • script: docker run --rm --network=host -v $(PROJECT_FOLDER):/liquibase/changelog liquibase/liquibase:latest --username=$(SF_USERNAME) --password=$(SF_PASSWORD) --url=jdbc:snowflake://xxxx.west-europe.azure.snowflakecomputing.com/?db=$(SF_DATABASE)&schema=$(SF_SCH) --changeLogFile=changelog.xml update
    displayName: 'Run Prechecks'

the error message is:/home/vsts/work/_temp/ca8a1977-ce8f-401d-a04c-f8d791a4eba5.sh: line 1: --changeLogFile=changelog.xml: command not found
##[error]Bash exited with code '127'.

can someone please help me, i need to do deployment with liquibase for snowflake Database

Relative vs Absolute Path for changeLogFile

The REAMDE states the following "Complete Example":

Using a properties file
liquibase.docker.properties file:

classpath: /liquibase/changelog
url: jdbc:postgresql://:5432/?currentSchema=
changeLogFile: changelog.xml
username:
password:
liquibaseProLicenseKey=<PASTE LB PRO LICENSE KEY HERE>

CLI: docker run --rm -v :/liquibase/changelog liquibase/liquibase --defaultsFile=/liquibase/changelog/liquibase.docker.properties update

If configured like that, the changelog.xml ends up within the container filesystem /liquibase/changelog.xml instead of the mounted directory /liquibase/changelog when running generateChangeLog. See my StackOverflow post plus answer for details.

It works when I specidy the absolute path of changelog.xml:

classpath: /liquibase/changelog
url: jdbc:postgresql://localhost:5432/mydb?currentSchema=public
changeLogFile: /liquibase/changelog/changelog.xml
username: myuser
password: mypass

Is this an issue of the README (then I can create a PR) or a "deeper" problem i.e. the usage from above should actually work as intended?

Some packages are not available due to strange line in dockerfile

Hi,

I don't know is it expected or not (and that goal you tried to achieve), but adding
rm -rf /var/*/apt/*
into your Dockerfile prevents installing additional packages (e.g. netcat-openbsd) when someone is trying to extend you functionality. E.g. netcat is required if you want to use 'wait-for' functionality (waiting until database container will be ready to serve connections) inside docker-compose.

Docker command should use --network=host

When running these docker examples against a local docker mysql instance, there will be a communications error unless the docker run command includes --network=host.

4.0 'includeAll' tag generates 2 rows in the DATABASECHANGELOG table for the same change set

Overview
Liquibase 4.0 REQUIRES to use a relative path to the changeLog.
The docker command would end up being like the following:
docker run --rm -v <JDBC LOCAL DIR>:/liquibase/lib -v <PATH TO CHANGELOG LOCAL DIR>:/liquibase/changelog liquibase/liquibase --classpath=/liquibase/lib/<JDBC JAR FILE> --url=<JDBC URL> --changeLogFile=../liquibase/changelog/<CHANGELOG NAME ie: "changelog.xml"> --username=<USERNAME> --password=<PASSWORD> generateChangeLog

So, the changeLog will be referenced with a relative path. For example:
--changeLogFile=../liquibase/changelog/<CHANGELOG NAME ie: "changelog.xml">

When using an includeAll tag in the changeLog, Liquibase will generate 2 rows in the DATABASECHANGELOG table for the same change set.

STR

  1. Create a changeLog with includeAll tag.
  2. Run update.
  3. Check the corresponding rows in the DATABASECHANGELOG

ACTUAL RESULT
Here are the DOUBLE entries that get created during the update command for a single file.
INSERT INTO mydb_dev.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('raw', 'includeAll', '../liquibase/changelog/4.460.7/LK-1055_0010.sql', NOW(), 1, '8:c113f9cc10ed2274688b871c4bdfc32a', 'sql', '', 'EXECUTED', NULL, NULL, '4.0.0', '1603317761');

INSERT INTO mydb_dev.DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('raw', 'includeAll', 'changelog/4.460.7/LK-1055_0010.sql', NOW(), 3, '8:c113f9cc10ed2274688b871c4bdfc32a', 'sql', '', 'EXECUTED', NULL, NULL, '4.0.0', '1603317761');`

EXPECTED RESULT
There should be only one entry for a single changeset (file).

Notes:
Here is a related Stack Overflow case: https://stackoverflow.com/questions/64094440/liquibase-includeall-tag-generates-2-rows-in-the-databasechangelog-table-for-t

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.