sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo ejecutar la base de datos de prueba de Django solo en la memoria?

Si configura su motor de base de datos en sqlite3 cuando ejecuta sus pruebas, Django usará una base de datos en memoria .

Estoy usando un código como este en mi settings.py para configurar el motor en sqlite al ejecutar mis pruebas:

if 'test' in sys.argv:
    DATABASE_ENGINE = 'sqlite3'

O en Django 1.2:

if 'test' in sys.argv:
    DATABASES['default'] = {'ENGINE': 'sqlite3'}

Y finalmente en Django 1.3 y 1.4:

if 'test' in sys.argv:
    DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}

(La ruta completa al backend no es estrictamente necesaria con Django 1.3, pero hace que la configuración sea compatible).

También puede agregar la siguiente línea, en caso de que tenga problemas con las migraciones del sur:

    SOUTH_TESTS_MIGRATE = False