2013-01-03 11 views
5

Po uruchomieniu ./manage.py syncdb jest napisane, że nie jest zsynchronizowane (użyj migracji). Jednak, gdy biegnęDjango i South: używanie south powoduje, że syncdb show myapp nie jest zsynchronizowany (używaj migracji).

$ ./manage.py schemamigration myapp --auto 
Nothing seems to have changed 
$ ./manage.py migrate 
blah blah, nothing to migrate 

zgodnie this thread, Próbowałem resetowanie południe, aby rozwiązać problem. Oto co zrobiłem:

$ rm -r appname/migrations/ 
$ ./manage.py reset south 
$ ./manage.py syncdb 
    (at this point it shows all apps as synced) 
$ ./manage.py convert_to_south myapp 
blah blah, App 'blog' converted. 
$ ./manage.py syncdb 
    (at this point it shows myapp as not synced) 

Running schemamigration> migrować ma taki sam efekt jak poprzednio (nic jeszcze nie rejestracji jako zsynchronizowane). Po stronie plusa, aplikacja nadal działa dobrze, po prostu martwię się, że może to spowodować problemy na drodze. Masz pojęcie, co się dzieje i jak mogę to naprawić? Czy to naprawdę jest problem? Używam SQLite3 i Django 1.4.2, jeśli to pomaga.

+1

Prosty sposób na sprawdzenie: usunąć lokalną bazę danych. Zacznij świeżą. Co mówi "./manage.py syncdb --migrate"? –

+0

Mówi, że wszystko jest zsynchronizowane, z wyjątkiem migrowanej aplikacji. Myślę, że moja odpowiedź poniżej jest poprawna. Dzięki za pomoc! – Xephryous

+0

Polecenie z poprzedniego komentarza powinno zarówno zsynchronizować bazę danych dla niezarządzanych aplikacji, jak i przeprowadzić migrację dla zarządzanych aplikacji. –

Odpowiedz

13

To może nie być problem. Właśnie znalazłem this bit w południowych dokumentach, co zdaje się wskazywać, że Południe przejmuje tę funkcję. Południe "powoduje, że syncdb działa tylko w podzbiorze aplikacji - tych bez migracji." Oznacza to, że syncdb pokazuje, że moja aplikacja nie jest zsynchronizowana, ponieważ południe obsługuje ją osobno.

Zawiesiłem moją południowo-noobową głowę ze wstydu.

Powiązane problemy