Ich bin mit Django 1.9, Postgres 9.5.1 auf Mac OS XDjango Test - Unable Testdatenbank
Wenn ich laufen /manage.py test --settings=myproj.settings.local
ich löschen und neu erstellen:
Creating test database for alias 'default'...
Creating test database for alias 'userlocation'...
Got an error creating the test database: database "test_myproj" already exists
Type 'yes' if you would like to try deleting the test database 'test_myproj', or 'no' to cancel: yes
Destroying old test database for alias 'userlocation'...
Got an error recreating the test database: database "test_myproj" is being accessed by other users
DETAIL: There is 1 other session using the database.
so, wie pro This post, ich laufe:
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
pid <> pg_backend_pid()
AND datname = 'test_myproj'
;
Die zugehenund versuchen, Tests erneut auszuführen, nur um den Fehler zu erhalten DETAIL: There is 1 other session using the database.
Als die Prozessliste wird nichts an die Datenbank angehängt. Ich kill den Server und neu starten, aber der Verwaltungsbefehl zum Ausführen von Tests gibt mir immer noch den Fehler, dass eine andere Sitzung mit der Datenbank verbunden ist.
Das ist ein echter Kopfkratzer, ich habe das noch nie gesehen - hat sonst noch jemand?
Meine Einstellungen:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myproj',
'USER': 'myuser',
'PASSWORD': 'mypass',
'HOST': 'localhost',
'PORT': '',
},
'userlocation': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'og_myproj',
'USER': 'og_myuser',
'PASSWORD': 'mypasswd',
'HOST': 'localhost',
'PORT': '5432',
}
}
Ich habe keine Lösung, aber Ihr Problem scheint zu sein, dass beide Datenbanken im Test den Namen 'test_myproj' haben - standardmäßig funktioniert es, und als Benutzerstandort wird diese Datenbank als vorhanden erkannt. Die vorhandene Sitzung ist diejenige, die noch von Ihrem aktuellen Django verwendet wird, der die Tests ausführt. Und nachdem das Skript stirbt, gibt es keine Sitzung mehr;) – dahrens
werfen Sie einen Blick auf diese [docs] (https://docs.djangoproject.com/de/1.10/topics/testing/advanced/#controlling-creation-order-for (Testdatenbanken) – dahrens
@dahrens, danke. Fixed Einstellungsdatei ein bisschen und funktioniert wie ein Charme. – fiacre