0Pricing
Flask Academy · Lekcja

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

  1. Dlaczego potrzebujesz migracji zamiast create_all
  2. Inicjalizacja i automatyczne generowanie migracji
  3. Stosowanie i wycofywanie zmian za pomocą upgrade
  4. Przeglądanie i edycja wygenerowanych skryptów
← Powrót do Flask Academy