Django Better Migrations
========================

[![Build Status](https://travis-ci.org/jbbarth/django-better-migrations.svg?branch=master)](https://travis-ci.org/jbbarth/django-better-migrations)

This project aims at providing improvements to Django's default migration system.
The default migration system is over-engineered, sometimes dangerous, and not
team work friendly.


More informations in the documentation, see "docs/" folder.


Example
-------

See below migration, generated automatically via `manage.py makemigrations`:
```python
# -*- coding: utf-8 -*-
# Generated by Django 1.9 on 2017-12-01 00:00
from __future__ import unicode_literals

from django.db import migrations, models


# Generated SQL code (sqlite):
#
# --
# -- Create model Person
# --
# CREATE TABLE "example_app_person" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(100) NOT NULL);
#

# Check results:
# CHECK OK: No ALTER TABLE ADD COLUMN with non-NULL constraint
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
            ],
        ),
    ]
```


License
-------

MIT, see `LICENSE` file.
