django-test-without-migrations

Disable migrations when running your Django tests.


License
MIT
Install
pip install django-test-without-migrations==0.2

Documentation

Django Test Without Migrations: Disable migrations when running your Django tests

Test Status Code Helth Latest PyPI version Number of PyPI downloads License

Test Without Migrations is a manage.py test command extension.

The new Django 1.7 and 1.8 migration backend demands that you create a migration every time you change a model.

This can be inconvenient when you're just trying to explore your models code.

In older Django versions, with South we could use the SOUTH_TEST_MIGRATIONS settings to tell Django to simply create all model tables without running migrations.

This app adds this capability to Django by extending the manage.py test command with a --nomigrations option.

Installation

Test Without Migrations works with Django 1.7+.

To install it, simply:

$ pip install django-test-without-migrations

Then add it to your INSTALLED_APPS on your settings.py:

INSTALLED_APPS = (
    # ...
    'test_without_migrations',
)

You will want to make sure that test_without_migrations appears before any other apps in INSTALLED_APPS that provide a custom test management command.

In this case, you will also want to set the TEST_WITHOUT_MIGRATIONS_COMMAND setting:

TEST_WITHOUT_MIGRATIONS_COMMAND = 'django_nose.management.commands.test.Command'

This will ensure that you don't lose any additional functionality provided by your custom test management command.

Usage

Inform the flag --nomigrations when running your tests:

$ python manage.py test --nomigrations

Or use the alias -n:

$ python manage.py test -n

Version 0.6 also supports testserver command:

$ python manage.py testserver --nomigrations myfixture.json

Inspiration

This library was directly inspired by this solution: https://gist.github.com/NotSqrt/5f3c76cd15e40ef62d09

Author

License

The MIT License.