Moja strategia wdrażania wygląda następująco (przy użyciu tkaniny):programowo sprawdzić, czy istnieją Django migracji na południe, które muszą być wdrożone
- utworzyć nowy virtualenv
- wdrożyć nowy kod w nowym virtualenv
- pokaż strona konserwacja
- skopiować bieżący db do nowego db
- migrować nowy dB
- punkt nowy kod do nowego db
- symlink prąd virtualenv do nowego venv
- usługi restart
- konserwacja usuń strona
Chcę szybko iteracji. Obecnie większość zmian w kodzie nie zawiera migracji. Ponadto baza danych rośnie, więc wiele kosztów generuje się, kopiując bazę danych za każdym razem, gdy wdrażam (głównie małą) zmianę. Aby uniknąć kopiowania bazy danych, chcę sprawdzić, czy istnieją migracje, które należy wdrożyć (przed krokiem 4). Jeśli nie ma migracji, mogę przejść od kroku 2 do kroku 7. Jeśli tak, to wykonam wszystkie kroki. W tym celu muszę programowo sprawdzić, czy istnieją migracje, które należy wdrożyć. Jak mogę to zrobić?
Dzięki, Philip, za pokazanie kodu. To jest prawie dokładnie to, jak go zaimplementowałem. Działa świetnie, wykonano już wiele wdrożeń zi bez migracji przy użyciu tej metody. –