Mam projekt django z migrowanymi i niemigrowanymi aplikacjami. Mogę być w stanie selektywnie migrować migrowane aplikacje, uruchamiając polecenie:
migrate <app> --database <database>
Nie mogę tego jednak zrobić w przypadku niemigrowanych aplikacji, które są stronami trzecimi. Aby móc je zsynchronizować, muszę uruchomić polecenie bez określania aplikacji
migrate --database <database>
To jednak kończy się błędami z innych aplikacji, które mają być kierowane do różnych baz danych, skarżąc się, że żadna tabela nie jest zsynchronizowana.
Czy to coś, co mogę zrobić, aby rozwiązać problem. Doceniam wysiłek, aby odpowiedzieć na to pytanie.
Odpowiedzi:
0 dla odpowiedzi № 1Myślę, że możesz spróbować
python manage.py migrate "nameoftheapp"
0 dla odpowiedzi nr 2
W rzeczywistości django śledzi skrypty migracji już wykonane w twojej bazie danych. Aby sprawdzić, czy działa lista migracji zastosowanych i niestosowanych:
python manage.py showmigrations --list
Zobaczysz duży X
obok migracji, które zostały już zastosowane. Jeśli skrypty migracji stron trzecich są już zastosowane, po prostu usuń je z tabeli django_migrations
w twojej bazie danych (utworzonej automatycznie przez Django). I zastosuj ponownie swoje migracje:
migrate <app> --database <database>