Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como executar o banco de dados de teste do Django apenas na memória?


Se você definir seu mecanismo de banco de dados como sqlite3 ao executar seus testes, Django usará um banco de dados na memória .

Estou usando um código como este em meu settings.py para definir o mecanismo para sqlite ao executar meus testes:
if 'test' in sys.argv:
    DATABASE_ENGINE = 'sqlite3'

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

E finalmente no Django 1.3 e 1.4:
if 'test' in sys.argv:
    DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}

(O caminho completo para o backend não é estritamente necessário com o Django 1.3, mas torna a configuração compatível.)

Você também pode adicionar a seguinte linha, caso esteja tendo problemas com as migrações do Sul:
    SOUTH_TESTS_MIGRATE = False