Django जब syncdb कर रही है, रीसेट करें, या एक परीक्षण धावक शुरू कर लोड हो रहा है एसक्यूएल फ़ाइलों का समर्थन करता है - यह वास्तव में करता है कि तुम क्या वर्णन:
http://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-sql-data
आपको अपने एप्लिकेशन में एक "एसक्यूएल" निर्देशिका बनाने की जरूरत निर्देशिका, और फिर उस निर्देशिका में "mymodel.sql" नाम की एक फ़ाइल डालें (जहां "MyModel" संबंधित मॉडल नाम है)।
myproject/
|--myapp/
|--sql/
|--mymodel.sql
आप इस डेटाबेस को अपने डेटाबेस के लिए डंप टूल के साथ बना सकते हैं।
- SQLite [1]: echo '.dump' | sqlite3 yourdbname.sqlite> MyApp/एसक्यूएल/mymodel.sql
- MySQL [2]: mysqldump yourdbname> MyApp/एसक्यूएल/mymodel.sql
- PostgreSQL [3]: pg_dump yourdbname> MyApp/एसक्यूएल/mymodel.sql
डंपिंग के बाद, आपको सब कुछ हटाने के लिए फ़ाइल को संपादित करने की आवश्यकता होगी, लेकिन उपयुक्त INSERT कथन, या अन्य जटिल सामग्री। विशेष रूप से, आपको डुप्लिकेट बनाने कथन लोड करते समय त्रुटियों से बचने के लिए एसक्यूएल बनाने के लिए लेनदेन हैंडलिंग, इंडेक्स बनाने और तालिका को हटा देना होगा।
मैं वास्तव में लोड करने के लिए इस विधि का उपयोग करता हूं, वास्तव में बड़े फिक्स्चर - जेसन को संसाधित करने में बहुत लंबा समय लगता है, लेकिन एक सीधा एसक्यूएल आयात बहुत तेज़ है।
ध्यान रखें कि यह विधि परीक्षण धावक के लिए डेटा लोड करने के अलावा synchdb, रीसेट इत्यादि के किसी भी आमंत्रण के लिए एसक्यूएल लोड करेगी - इसलिए आप विभिन्न परीक्षण मामलों के लिए अलग-अलग डेटा नहीं रख पाएंगे , और यदि आप उन्हें अपने उत्पादन सर्वर पर वापस लोड नहीं करना चाहते हैं तो आपको रीसेट से पहले फ़ाइलों को हटाना होगा।
[1] http://www.sqlite.org/sqlite.html
[2] http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
[3] http://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP
अगर मैं गलत लोड हो रहा है एसक्यूएल तेजी से है क्योंकि यह भूमि के ऊपर जुड़नार है कि नहीं है हो सकता है नहीं कर रहा हूँ। मैं इसी समस्या को हल करने के लिए देख रहा हूँ। मेरे पास परीक्षण के लिए लोड करने के लिए एक बड़ा डीबी है और मैं लोडिंग को त्वरित रखना चाहता हूं। – Jeff
मैं सामान्य संबंधों का व्यापक रूप से उपयोग करता हूं जो फिक्स्चर का उपयोग करते समय एक समस्या है। ऐसा प्रतीत होता है कि यह काम में 1.2 की ओर हल हो गया है, http://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys – knutin
देखें यह एक शर्म की बात है कि आप केवल टिप्पणी को वोट दे सकते हैं, नीचे नहीं। वह पहली टिप्पणी बस reeks। – boatcoder