Skip to content
This repository has been archived by the owner on Nov 26, 2022. It is now read-only.

Latest commit

 

History

History
105 lines (63 loc) · 3.03 KB

README.rst

File metadata and controls

105 lines (63 loc) · 3.03 KB

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.