skip to navigation
skip to content

django-test-without-migrations 0.6

Disable migrations when running your Django tests.

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

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

License

The MIT License.

 
File Type Py Version Uploaded on Size
django-test-without-migrations-0.6.tar.gz (md5) Source 2017-04-12 3KB