सबसे पहले, मैं अपना डेटाबेस बनाता हूं।
create database mydb;
मैं स्थापित एप्लिकेशन में "दक्षिण" जोड़ता हूं। फिर, मैं इस ट्यूटोरियल पर जाता हूं: http://south.aeracode.org/docs/tutorial/part1.html
ट्यूटोरियल मुझे ऐसा करने के लिए कहता है:
$ py manage.py schemamigration wall --initial
>>> Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate wall
महान, अब मैं पलायन करता हूं।
$ py manage.py migrate wall
लेकिन यह मुझे यह त्रुटि देता है ...
django.db.utils.DatabaseError: (1146, "Table 'fable.south_migrationhistory' doesn't exist")
इसलिए मैं Google का उपयोग करता हूं (जो कभी काम नहीं करता। इसलिए मेरे 870 प्रश्न Stackoverflow पर पूछे जाते हैं), और मुझे यह पृष्ठ मिलता है: http://groups.google.com/group/south-users/browse_thread/thread/d4c8320821dd2ca1c
ठीक है, इसलिए मैं उस निर्देशों का पालन करता हूं
>> Drop database mydb;
>> Create database mydb;
$ rm -rf ./wall/migrations
$ py manage.py syncdb
लेकिन जब मैं सिंकबॉब चलाता हूं, तो Django टेबल का एक गुच्छा बनाता है। हां, यह south_migrationhistory टेबल बनाता है, लेकिन यह मेरे ऐप की तालिकाएँ भी बनाता है।
Synced:
> django.contrib.admin
> django.contrib.auth
> django.contrib.contenttypes
> django.contrib.sessions
> django.contrib.sites
> django.contrib.messages
> south
> fable.notification
> pagination
> timezones
> fable.wall
> mediasync
> staticfiles
> debug_toolbar
Not synced (use migrations):
-
(use ./manage.py migrate to migrate these)
कूल .... अब यह मुझसे कहता है कि इनको माइग्रेट करें तो, मैं यह करता हूं:
$ py manage.py migrate wall
The app 'wall' does not appear to use migrations.
ठीक है, तो ठीक है। मैं प्रारंभिक माइग्रेशन में दीवार जोड़ूंगा।
$ py manage.py schemamigration wall --initial
फिर मैं प्रवास करता हूं:
$ py manage.py migrate wall
आपको पता है कि? यह मुझे यह बी.एस.
_mysql_exceptions.OperationalError: (1050, "Table 'wall_content' already exists")
क्षमा करें, यह वास्तव में मुझे नाराज कर रहा है। क्या कोई मदद कर सकता है? धन्यवाद।
मुझे काम करने और सब कुछ सही ढंग से सिंक करने के लिए दक्षिण कैसे मिलता है? केवल एक चीज जिसके बारे में मैं सोच सकता हूं कि मेरे ऐप को INSTALLED_APPS से हटा दिया जाए, फिर syncdb चलाएं, फिर इसे वापस जोड़ें।
यह बहुत बड़ा है।