Skip to main content

Python liquibase

Project description

Python package

pyliquibase

Use liquibase with python. Java integration is done using Java Native Interface (JNI) using pyjnius

MySQL, Postgresql, Bigquery, Redshift JDBC Drivers included.

Installation

install:

pip install pyliquibase

install from github:

pip install https://github.com/memiiso/pyliquibase/archive/master.zip --upgrade --user

How to Use

using command line:

pyliquibase --defaultsFile=changelogs/liquibase.properties status
pyliquibase --defaultsFile=changelogs/liquibase.properties validate
pyliquibase --defaultsFile=changelogs/liquibase.properties updateSQL
pyliquibase --defaultsFile=changelogs/liquibase.properties update

using python:

from pyliquibase import Pyliquibase
if __name__ == '__main__':
    liquibase = Pyliquibase(defaultsFile="changelogs/liquibase.properties", logLevel="INFO")
    # call execute with arguments
    liquibase.execute("status")
    liquibase.execute("rollback", "MyTag")
    # or 
    liquibase.validate()
    liquibase.status()
    liquibase.updateSQL()
    liquibase.update()
    liquibase.rollback("MyTag")

Python Java Integration

Python library is using LiquibaseCommandLine reflection class which uses/equivalent LiquibaseCommandLine java class. liquibase calls are executed by LiquibaseCommandLine.execute(liquibaseargs) method by passing given python arguments to java class.

python java integration class using pyjnius(using the Java Native Interface (JNI))

class LiquibaseCommandLine(JavaClass, metaclass=MetaJavaClass):
    __javaclass__ = 'liquibase/integration/commandline/LiquibaseCommandLine'
    # methods
    execute = JavaMethod('([Ljava/lang/String;)I')

LIQUIBASE is a registered trademark of Liquibase , INC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyliquibase-2.0.6.tar.gz (57.6 MB view hashes)

Uploaded Source

Built Distribution

pyliquibase-2.0.6-py3-none-any.whl (57.6 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page