Skip to main content

Liquibase migrations with django

Project description

License: BSD Liquibase license: Apache 2.0 Author: Marek Wywiał <onjinx@gmail.com>

Quick start

  • install liquimigrate, python setup.py install
  • add ‘liquimigrate’ to INSTALLED_APPS
  • configure LIQUIMIGRATE_CHANGELOG_FILE = os.path.join(os.path.dirname(__file__), “migrations”, “migrations.xml”) in settings
  • ensure that you have java on your path, liquibase and java drivers are embedded into package

Usage

Just run ./management.py liquibase update or ./management.py liquibase -h

To learn how to use liquibase look at liquibase documentation:

Configuration settings

  • LIQUIMIGRATE_CHANGELOG_FILE - path to change log file f.e. ‘os.path.join(os.path.dirname(__file__), “migrations”, “migrations.xml”)’
  • LIQUIMIGRATE_DATABASE - selected database - default ‘default’

How it works

Database settings are got from DATEBASES, from key ‘default’ or key configured in settings.py as LIQUIMIGRATE_DATABASE.

Changelog path are got from LIQUIMIGRATE_CHANGELOG_FILE or from command line (check -h).

Supported drivers:
  • postgresql
  • mysql
  • more in future

Development

Whole command code is put in:
  • liquimigrate/management/commands/liquibase.py
  • java connectors are stored in liquimigrate/vendor/connectors
  • available drivers mapping is stored in liquimigrate/__init__.py
  • mapping to create db url for drivers is stored in liquimigrate/management/commands/liquibase.py in DB_DEFAULTS

Project details


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page