Przeglądanie i edycja wygenerowanych skryptów
Napraw automatycznie wygenerowane migracje przed ich zastosowaniem.
Przeglądanie i edycja wygenerowanych skryptów to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Autogenerowanie nie jest idealne
Autogenerowanie to świetny pierwszy szkic, ale nie ostateczne rozwiązanie. Zawsze należy sprawdzić skrypt przed zastosowaniem go w dowolnym środowisku. 🔍
Otwórz plik wersji
Każdy skrypt znajduje się w folderze versions. Otwórz go i przeczytaj funkcje upgrade oraz downgrade tak jak każdy inny kod.
Obiekt op
Wewnątrz funkcji zobaczą Państwo wywołania metod obiektu op, takich jak op.create_table i op.add_column, z których każde opisuje jedną zmianę schematu.
op.add_column("user", sa.Column("age", sa.Integer()))Czego Alembic nie wykrywa
Autogenerowanie często nie wykrywa zmian nazw, interpretując je jako usunięcie i dodanie. Spowodowałoby to bezgłośne usunięcie danych z kolumny.
Ręcznie popraw zmiany nazw
Gdy kolumna jest rzeczywiście przemianowywana, zastąp usunięcie i dodanie pojedynczym wywołaniem alter_column, które zachowa dane.
op.alter_column("user", "name", new_column_name="full_name")Sprawdź funkcję downgrade
Upewnij się, że downgrade rzeczywiście odwraca działanie upgrade. Błędna funkcja downgrade może uniemożliwić wycofanie zmian.
Uważaj na kolumny NOT NULL
Dodanie kolumny niewyrażającej zgody na wartości null do tabeli zawierającej wiersze zakończy się błędem. Najpierw dodaj ją jako nullable, uzupełnij wartości, a następnie ustaw jako wymaganą.
Samodzielnie dodaj kroki dotyczące danych
Trzeba uzupełnić istniejące wartości? Dodaj wywołanie op.execute z surowym kodem SQL między krokami zmiany schematu, aby bezpiecznie zmigrować istniejące dane.
op.execute("UPDATE user SET age = 0")Najpierw przetestuj kopię
Przed modyfikacją środowiska produkcyjnego uruchom migrację na kopii rzeczywistych danych. Pozwoli to wykryć problemy, gdy ich naprawa jest jeszcze niedroga.
Jedna zmiana na migrację
Niech każda migracja będzie skupiona na jednej logicznej zmianie. Małe skrypty znacznie łatwiej sprawdzać, testować i poprawnie wycofywać.
Zatwierdź ostateczny skrypt
Po edycji i przetestowaniu zatwierdź skrypt. Nigdy nie zmieniaj migracji, która trafiła już do historii środowiska produkcyjnego.
Szybkie sprawdzenie
Zmienili Państwo nazwę kolumny, ale autogenerowanie zapisało jej usunięcie i ponowne dodanie. Na czym polega zagrożenie?
Podsumowanie
Nauczyli się Państwo sprawdzać wygenerowane skrypty, poprawiać zmiany nazw za pomocą alter_column, obsługiwać kolumny nieprzyjmujące wartości null i testować zmiany przed wdrożeniem. 🎉
Często zadawane pytania
Czy lekcja „Przeglądanie i edycja wygenerowanych skryptów” jest bezpłatna?
Tak — pełny tekst „Przeglądanie i edycja wygenerowanych skryptów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Przeglądanie i edycja wygenerowanych skryptów”?
Napraw automatycznie wygenerowane migracje przed ich zastosowaniem. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Przeglądanie i edycja wygenerowanych skryptów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego potrzebujesz migracji zamiast create_all
- Inicjalizacja i automatyczne generowanie migracji
- Stosowanie i wycofywanie zmian za pomocą upgrade
- Przeglądanie i edycja wygenerowanych skryptów