Python liquibase
Project description
pyliquibase
A Python module to use liquibase in python, using the Java Native Interface (JNI).
For further details on python-java integration please see here
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.update_to_tag("MyTag")
liquibase.rollback("MyTag")
# liquibase maintenance commands
liquibase.changelog_sync()
liquibase.changelog_sync_to_tag("MyTag")
liquibase.clear_checksums()
liquibase.release_locks()
Python Java Integration
Python library is based on LiquibaseCommandLine
Python class. It is reflection of Java LiquibaseCommandLine
class.
liquibase calls are passed to Java LiquibaseCommandLine.execute(liquibaseargs)
method.
Pyjnius is a Python library for accessing Java classes. It either starts a new JVM inside the process, or retrieves the already surrounding JVM. To read more on pyjnius please see https://pyjnius.readthedocs.io/en/latest/
class LiquibaseCommandLine(JavaClass, metaclass=MetaJavaClass):
__javaclass__ = 'liquibase/integration/commandline/LiquibaseCommandLine'
# methods
execute = JavaMethod('([Ljava/lang/String;)I')
Contributors
LIQUIBASE is a registered trademark of Liquibase , INC.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyliquibase-2.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4851a69a23efba445d46c936801737d2eda30aa1617aab5ad28d0bbf498cc1e2 |
|
MD5 | ddae6eb6b2af1408547ab2a18c6b6c0a |
|
BLAKE2b-256 | e7f80d29ac2b1a9516bce2ceec7f8e4f6f7e03d1ea722675abf42383f3fb7127 |