Skip to main content

A line of description

Project description

django-check-migration-wtf

Description

django-check-migration-wtf is an extension for Django to check migrations and notify you if their are secure to do on environments with zero downtime.

In some situations Django Migration system generate migrations to need do a downtime because they are blocking operation or you write custom migration than can block you database.

Actually this extension only works for backends of PostgresSQL and Postgis.

Advise: this extension notify you for common blocking operations on database. Anyway you should review your migrations and understand their.

Configuration

It is really simple

Installation

Install the package with the typical tool (pip):

pip install django-check-migration-wtf

Add to your project

Add app on your settings:

INSTALLED_APPS = [
    'django_check_migration_wtf',
    ...,
]

Add some optional vars

Add some optional setup on your settings:

  • CHECK_MIGRATION_WTF_PSQL_VERSION It is to know your PostgresSQL Version by default it is 9
  • The next following vars are for use github integration:
    • CHECK_MIGRATION_WTF_GITHUB_TOKEN Token to can use API of github, It only need permission of reading of repo.
    • CHECK_MIGRATION_WTF_REPO_NAME Name of repository on Github

Usage

It is really easy to use. It is execute by a typical django command like makemigrations or migrate... It has two mode of usage.

Local

First execute your makemigrations and you can do your custome modifications. Then before execute command migrate execute the following command:

python manage.py check_migration

It will search all migrations that are not apply to the system (like showmigrations) and it will analyze if they are secure to do.

You can have two possibilities:

  • When the migration or migrations are secure, you get the following response:

    image info

  • When the migration or migrations are not secure, you get the following response:

    image info

Github

This is reality an option of command to execute it on your continues integration. It will search you migrations comparing the base branch and your current branch and the analyze it

python manage.py check_migration --github <head_ref> <base_ref>

Limitations

  • This extension not analyze code inside of RunPython
  • Github option to work correctly suppose your migrations are inside of directory migrations

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

django-check-migration-wtf-1.2.0.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

django_check_migration_wtf-1.2.0-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file django-check-migration-wtf-1.2.0.tar.gz.

File metadata

  • Download URL: django-check-migration-wtf-1.2.0.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for django-check-migration-wtf-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e23912b498a9de4a245d4245dca082eee3530775c646fdc88ba4d8df1f2f874a
MD5 61ca216a1cf2f730e9fe3281a6d8dbd2
BLAKE2b-256 61479480120b2bb488c7fc6d28c70f54b07d65507f17b6e059f5edf4b8a3725f

See more details on using hashes here.

File details

Details for the file django_check_migration_wtf-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: django_check_migration_wtf-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for django_check_migration_wtf-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b34b11bd2a180bc772ccd7a236036bc0f64f0abc1dc05f585a654cedb5a0b6d
MD5 d2e806afd30be24f01ca5a7a78efb8b1
BLAKE2b-256 4b2520fd2f09c69b9929fea368de5eaa64025aa891ef8cf63d9133d1bf3a6c57

See more details on using hashes here.

Supported by

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