Skip to content

koterpillar/fast-test-database

Repository files navigation

Fast test database

Use a pure in-memory database for running Django tests.

Usage

In settings.py:

from fast_test_database import fast_test_database

DATABASES = fast_test_database(DATABASES)

# Or:
DATABASES = fast_test_database(DATABASES,
                               test_commands=('test', 'harvest'))

# Or:
DATABASES = fast_test_database(DATABASES,
                               version='5.7')

This will be a no-op except for ./manage.py test, when an in-memory database will be automatically started and supplied to the application.

Details

The in-memory database is a full PostgreSQL or MySQL instance started using Docker, using tmpfs for storing the data. A single container will be started if not yet running. It will not be shut down automatically, and instead reused for subsequent tests.

The type of the database (PostgreSQL or MySQL) is chosen based on the existing default database engine.

The default version of the database (PostgreSQL or MySQL) is latest. But it can be specified by version parameter.

About

Use a pure in-memory database for running Django tests

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •