2011-01-26 4 views
18
settings.py

에서 장고 테스트 데이터베이스 이름을 지정? 나는 settings.py 파일에서 TEST_NAME = 'auto_tests'을 사용하려고 노력했다. 내가 실행할 때, python manage.py tests <app_name> 나는 다음과 같은 메시지가 얻을 :내가 파이썬 객체를 사용하여 데이터베이스를 지정하고 있습니다

Creating test database 'default'... 
Got an error creating the test database: (1007, "Can't create database 'test_testsqldb'; database exists") 
Type 'yes' if you would like to try deleting the test database 'test_testsqldb', or 'no' to cancel: 

내가 내 테스트를 실행하는 경우 별도의 데이터베이스를 만들 수있는 시스템을 기대하고 있습니다를, 아마도 'auto_tests_testsqldb'라는; 그러나, 그것은 여전히 ​​내게 test_testsqldb에 대해 묻고 있습니다.

아무쪼록 감사드립니다.

답변

26

Django 1.6 이하에서는 TEST_NAME이 데이터베이스 사전 중 하나의 키 여야합니다. 하지만 Django 1.7 이상에서는 테스트 데이터베이스 설정 사전 인 TEST 키를 사용합니다.

당신은 아마 원하는 :

DATABASES = { 
'default':{ 
    'ENGINE':'mysql', 
    'NAME':'testsqldb', 
    'USER':'<username>', 
    'PASSWORD':'<password>', 
    'TEST': { 
     'NAME': 'auto_tests', 
    } 
}, 
'dynamic_data':{ 
    'ENGINE': 'sqlite3', 
    'NAME':'', 
    'USER':'', 
    'PASSWORD':'' 
}, 
} 

또는 아마 당신은 당신의 검사 결과에 대해 서로 다른 엔진을 사용하고 싶은거야? 이 경우 테스트를 위해 별도의 설정 파일을 만들어야한다고 생각합니다. 표준 설정 모듈에서 가져오고 DATABASES을 무시할 수 있습니다.

+1

+1 TEST_NAME의 열쇠는 내가 찾고있는 열쇠입니다. 테스트 문서에서 설정 정보를 확인하지 않았습니까? –

+0

Django 1.10에서 이것은 "TEST"입니다 : { "NAME": "auto_tests"},'(https://docs.djangoproject.com/en/dev/ref/settings/#test를보십시오) – kd88

관련 문제