Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

UA2WEB Django patch system

Project description

What this package does?
=======================

This package provides an easy half-manual and controlled way to define and run SQL, Python and Shell script for your project.

Supported backends
==================

- MySQL
- PostgreSQL

Supported Django versions
=========================

- Django >= 1.8

Supported OS
============

- Linux
- Ubuntu 14.04
- Ubuntu 16.04

Why to use this package if there is django-migrations and South?
================================================================

The differencies between Django migrations and ua2.patch are in purpose:

- django-migrations primary purpose is to propogate changes you make to your models into your database
- ua2.patch purpose is to create & maintain patches, written by big development team

This package could be used in parallel to existing django-migrations module, or it can completely replace the job done by migrations. You, as developer, decide where you should use one or another.

We are not going to replicate all migration features, the core idea of this package is to provide easy to use tool to create and maintain (SQL|Python|Shell) patches for big team of people, working in parallel on different branches.

What are benefits of using ua2.patch ?
======================================

Simple way to automate running custom patches
---------------------------------------------

It is very easy to create patches for your data.

Installation
============

Install package from pip
------------------------

First, install package via pip:

``` example
pip install ua2.patch
```

And then, add it to your Django INSTALLED<sub>APPS</sub>:

``` example
INSTALLED_APPS = [
...
'ua2.patch',
]
```

Usage examples
==============

Create SQL patch
----------------

``` example
./manage.py patch next
File .../patches/00002-johnsmith-014.sql has been created
size: 0
```

Now, you can open & edit the file. *Note*: until file size is zero, it would not be applied, but will be treated as *reserved* patch for future use.

Create Python patch
-------------------

``` example
./manage.py patch next -e py
File .../patches/00002-johnsmith-022.py has been created
size: 0
```

*Note:* patch body should have function main() which returns True. If you don't return True, the system will run the patch and exit on this place, preventing other scripts to run.

Create Shell patch
------------------

``` example
./manage.py patch next -e sh
File .../patches/00003-johnsmith-022.sh has been created
size: 0
```

Project details


Download files

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

Files for ua2.patch, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size ua2.patch-2.0.0-py2.py3-none-any.whl (12.1 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size ua2.patch-2.0.0.tar.gz (8.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page