sql >> Database >  >> RDS >> Mysql

Hoe de testdatabase van Django alleen in het geheugen uit te voeren?

Als u uw database-engine instelt op sqlite3 wanneer u uw tests uitvoert, Django gebruikt een in-memory database .

Ik gebruik deze code in mijn settings.py om de engine op sqlite in te stellen tijdens het uitvoeren van mijn tests:

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

Of in Django 1.2:

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

En tot slot in Django 1.3 en 1.4:

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

(Het volledige pad naar de backend is niet strikt noodzakelijk met Django 1.3, maar maakt de instelling voorwaarts compatibel.)

U kunt ook de volgende regel toevoegen, voor het geval u problemen ondervindt met Zuid-migraties:

    SOUTH_TESTS_MIGRATE = False


  1. Wat is het SQL Server-equivalent van ELT() in MySQL?

  2. Hoe te SELECTEREN op basis van de waarde van een andere SELECT

  3. hoe het eerste en laatste record uit de mysql-tabel te vinden

  4. Meerdere polygonen tekenen op Google Maps API v3 vanuit MySQL-database