2010-05-18 7 views
1

백발 달러가 없기 때문에 내 장고 앱은 공유 호스트에 있습니다. all kinds of crazy rules are in effect. 다행히도, 그들은 나에게 쉘 접근을 주었고, 나는 꽁초를 차며 이름을 지을 수 있었다. 그러나 나는 CREATE DATABASE 권리가 없다는 것에 대해서는 아무 것도 할 수 없습니다.CREATE DATABASE 권한없이 Django의 테스트 프레임 워크를 사용할 수 있습니까?

저는 postgresql을 사용하고 있으며 킬러 테스트 스위트를 가지고 있지만 코드가 새 데이터베이스를 만들 수 없기 때문에 실행할 수 없습니다. 그러나 나는 오전 미리 cPanel을 통해 상기 데이터베이스를 생성하고 Django와 함께 사용할 수 있습니다. 나는 단지 CREATE DATABASE 권리가 없습니다.

테스트 스위트를 실행할 수있는 방법이 있습니까?

+1

왜 당신은 당신의 컴퓨터에서 응용 프로그램을 테스트하지? –

+1

내 컴퓨터에서 모든 테스트를 통과합니다. 프로덕션 환경에서도 마찬가지입니다. 그게 테스트가 좋은 것입니다. 그런 것들을 잡으세요. – andrewrk

+1

그러면 개발 환경을 프로덕션 환경과 비슷하게 만듭니다. –

답변

2

엔진을 사용하여 SQLite 데이터베이스를 만들면 문제를 해결할 수 있습니다. 심지어 메모리에 생성하고 테스트 런타임을 대폭 향상시킬 수 있습니다.

같이 그냥 편집 데이터베이스 설정을 설정하려면 :

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': ':memory:', 
     ... # other settings (HOST, USER etc.) 
    }, 
} 
+0

나는 sqlite를 사용하는 것이 가능한 해결책이 될 수 있지만 공유 호스트는 일반적으로 메모리가 제한되어 있으므로 전체 테스트 스위트 DB를 메모리에로드하는 것은 좋은 생각이 아닐 수도 있습니다. –

+0

@Chris하지만 파일 시스템에서 sqlite를 사용할 수 있습니다. 메모리 데이터베이스는 속도 향상에 불과합니다. –

+0

이것은 좋은 생각입니다. 나는 이것을 시도해 보았습니다. 그리고 그것은 대부분의 테스트에서 작동했지만, 추락했습니다. Chris가 말한 것처럼 추측하고 있습니다. – andrewrk

관련 문제