2011-02-03 16 views
7

मैं django दुनिया में नया हूं। कुछ ट्यूटोरियल ऐप्स चलाना, और जब python manage.py test चला रहा है मुझे एक विफलता मिल रही है कि तालिका पहले से मौजूद है। मुझे यकीन नहीं है कि क्या हो रहा है। मैं दक्षिण में भी दौड़ रहा हूं, और स्कीमा माइग्रेट करते समय मुझे कोई त्रुटि नहीं मिली।django - "manage.py test" विफल रहता है "तालिका पहले से मौजूद है"

किसी भी अंतर्दृष्टि की सराहना की जाती है।

TIA जॉय

+0

संभवतः संबंधित: http://stackoverflow.com/questions/3090648/django-south-table-already-exists – payne

+0

हाँ! यही वह था, मैंने कुछ गलतियां की और डीबी के साथ सिंक्रनाइज़ेशन से बाहर निकल गया। साफ इंस्टॉल इसे ठीक से तय किया। –

उत्तर

15

यह अपने दक्षिण माइग्रेशन में से एक में एक त्रुटि हो सकती है। आपको वास्तविक डीबी पर समस्या दिखाई नहीं दे रही है क्योंकि माइग्रेशन को निष्पादित किया गया है (शायद नकली विकल्प के साथ)

आप डीबी को स्क्रैच से फिर से बनाने की कोशिश कर सकते हैं और देख सकते हैं कि यह काम करता है या नहीं।

आप अपनी सेटिंग्स.py में SOUTH_TESTS_MIGRATE = False जोड़कर यूनिट-परीक्षण के लिए दक्षिण को भी अक्षम कर सकते हैं। इस विकल्प के साथ परीक्षण डेटाबेस बनाने के लिए एक नियमित सिंकडब किया जाएगा। यह परीक्षण प्रक्रिया को भी गति देगा।

मुझे आशा है कि यह

+0

बहुत अंतर्दृष्टिपूर्ण जवाब! –

+0

अगर मुझे स्क्रैच से डीबी खींचना है तो दक्षिण का क्या फायदा है? – Ahsan

+0

@ अहसान डीबी केवल परीक्षणों के लिए स्क्रैच से बनाया गया है और यह इस तरह होता है कि आप दक्षिण का उपयोग करते हैं या नहीं। –

0

मदद करता है और आप नाक के साथ परीक्षण कर रहे हैं, तो:

DST_RUN_SOUTH_MIGRATIONS = झूठी

0

यह नाक के साथ भी होता है जब
--cover-package=userdata,incorrectname
पैकेज के नाम से एक गलत है

1

यह मेरे साथ एक विरासत कोड के साथ हुआ लेकिन किसी अन्य कारण से।

मेरे पास दो मॉडल थे जो db_table उसी डीबी तालिका का संदर्भ देते थे। मुझे पता है कि यह बेवकूफ है, लेकिन यह मेरी गलती नहीं है)

और मुझे इंटरनेट पर कुछ भी नहीं मिला जो मेरी मदद कर सकता है। मुझे वर्बोजिटी सेट 3 से बचाया गया था (manage.py test -v 3) उम्मीद है कि यह किसी की भी मदद करेगा।

class Bla1(Model): 
    some_column = ... 
    class Meta: 
     db_table = 'some_table' 

class Bla2(Model): 
    some_column = ... 
    class Meta: 
     db_table = 'some_table' 
संबंधित मुद्दे