sql >> Databasteknik >  >> RDS >> Mysql

Hur kör man Djangos testdatabas endast i minnet?

Om du ställer in din databasmotor på sqlite3 när du kör dina tester, Django kommer att använda en databas i minnet .

Jag använder kod som denna i min settings.py för att ställa in motorn på sqlite när jag kör mina tester:

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

Eller i Django 1.2:

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

Och slutligen i Django 1.3 och 1.4:

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

(Den fullständiga sökvägen till backend är inte strikt nödvändig med Django 1.3, men gör inställningen framåtkompatibel.)

Du kan också lägga till följande rad om du har problem med migrering till söder:

    SOUTH_TESTS_MIGRATE = False


  1. Oracle motsvarighet till ROWLOCK, UPDLOCK, READPAST frågetips

  2. Mysql int(11) nummer utanför intervallet

  3. 5 mycket vanliga SQL-frågor design misstag att undvika till varje pris

  4. SQL mellan inte inkluderande