Czy zmiana nazwy pliku migracji Django jest bezpieczna?


Od wersji Django 1.8 polecenie
makemigrations
ma

opcja
https://docs.djangoproject.com ... -name - Nazwa, -N , aby określić nazwę użytkownika dla utworzonego pliku migracyjnego.
Chciałbym wiedzieć, czy w starszych wersjach Django można bezpiecznie utworzyć plik migracji z automatycznie wygenerowaną nazwą, a następnie ręcznie zmienić jego nazwę. Wygląda na to, że działa zgodnie z oczekiwaniami. Czy są jakieś potencjalne zagrożenia?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Działa to z małym zastrzeżeniem: Django nie będzie już wiedział, że stosowana jest migracja o zmienionej nazwie.
Dlatego kroki, aby zmienić nazwę migracji, są następujące:
  • Zmień nazwę pliku.
  • Przenieś wszystkie zależności do nowego pliku.
  • Jeśli zgłoszona zmiana migracji została już zastosowana, zastosuj go ponownie za pomocą
    - Fake
    .

Jeśli jest to zupełnie nowa migracja, 2 i 3 nie będą miały zastosowania i można całkowicie zmienić ich nazwy.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Dzieje się tak w Django za każdym razem, gdy migracje są zmiażdżone. Utworzony jest nowy plik, zawierający zmienną klasę zastępuje , który zawiera listę wymiennych plików migracyjnych.
Aby zmienić nazwę pliku migracyjnego, dodaj następującą zmienną do klasy migracji:
replaces = [('app name', 'migration file name'), ]

I wszystko działa tak samo jak przed zmianą pliku.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się