Jak wrócić z pierwotnej migracji w Django 1.7?


117

Stworzyłem nową aplikację z niektórymi modelami i teraz zauważyłem, że niektóre modele są słabo przemyślane. Ponieważ nie zatwierdziłem kodu, rozsądną rzeczą byłaby migracja bazy danych do dobrego stanu i powtórzenie migracji z lepszymi modelami. W tym przypadku ostatnim dobrym stanem jest baza danych, w której nie ma nowej aplikacji.

Jak mogę wrócić z pierwotnej migracji w Django 1.7?

W Southjednym można zrobić:

python manage.py migrate <app> zero

Co spowodowałoby usunięcie <app>z historii migracji i usunięcie wszystkich tabel <app>.

Jak to zrobić z migracjami Django 1.7?

Odpowiedzi:


197

Możesz zrobić to samo z Django 1.7+ również:

python manage.py migrate <app> zero

Spowoduje to wyczyszczenie <app>historii migracji i usunięcie wszystkich tabel<app>

Zobacz dokumentację django, aby uzyskać więcej informacji.


7
Czy jest to gdzieś udokumentowane? Bardzo brakuje dokumentacji django na temat migracji ...
rnevius

2
Dokument można znaleźć na stronie dokumentacji django-admin i manage.py: docs.djangoproject.com/en/1.7/ref/django-admin/ ...
n__o

@Nie, dziękuję. Zaktualizowana odpowiedź.
ChillarAnand

1
Jak poradzisz sobie z IntegrityError: NOT NULL nie powiodło się?
wasabigeek

2
Właśnie wypróbowałem to na Django 1.9 i również działało dobrze. Dzięki
Dário

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.