Django Academy · Lekcja

sqlmigrate i sprawdzanie SQL

Zobaczyć surowy SQL wykonywany przez migrację

Lekcja 4 z 413 kroki

sqlmigrate i sprawdzanie SQL to bezpłatna lekcja Django 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 Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.

Zobacz rzeczywisty SQL

Migracje są zapisane w Pythonie, ale baza danych używa SQL. Polecenie sqlmigrate pokazuje dokładny kod SQL, który wykona migracja.

Jak uruchomić polecenie

Należy przekazać do sqlmigrate etykietę aplikacji i numer migracji, a polecenie wyświetli SQL bez wprowadzania jakichkolwiek zmian.

python manage.py sqlmigrate blog 0002

Nie stosuje zmian

sqlmigrate działa tylko w trybie odczytu. Wyświetla instrukcje, aby można było je przejrzeć, ale nigdy nie modyfikuje bazy danych.

Czytanie CREATE TABLE

Wstępna migracja pokazuje instrukcję CREATE TABLE z każdą kolumną, typem i ograniczeniem zapisanymi w zwykłym kodzie SQL.

CREATE TABLE "blog_post" (
  "id" integer PRIMARY KEY AUTOINCREMENT,
  "title" varchar(200) NOT NULL
);

Czytanie ALTER TABLE

Dodanie pola pokazuje polecenie ALTER TABLE ... ADD COLUMN, czyli dokładną zmianę, którą Django wprowadzi w istniejącej tabeli.

ALTER TABLE "blog_post"
  ADD COLUMN "published" bool NOT NULL DEFAULT 0;

Dlaczego najpierw sprawdzić

Podgląd SQL pozwala wcześnie wykryć niespodzianki, takie jak nieoczekiwane przebudowanie tabeli lub kosztowna zmiana w ogromnej tabeli.

Dialekt ma znaczenie

SQL odzwierciedla skonfigurowaną bazę danych. Postgres, SQLite i MySQL generują nieco inne instrukcje.

Znajdź numer

Potrzebujesz numeru migracji? Najpierw uruchom showmigrations, aby wyświetlić ich listę, a następnie przekaż wybraną migrację do sqlmigrate.

python manage.py showmigrations blog

SQL cofający migrację

Dodaj flagę --backwards, aby zobaczyć SQL, który Django uruchomi w celu cofnięcia migracji. Przydaje się to przed wycofaniem zmian.

python manage.py sqlmigrate blog 0002 --backwards

Narzędzie do nauki

sqlmigrate to świetny sposób, aby nauczyć się, jak ORM odwzorowuje modele na tabele, kolumny, indeksy i ograniczenia.

Sprawdź przed wdrożeniem

Przy ważnych wdrożeniach przeczytaj SQL dotyczący ryzykownych kroków, aby powolna migracja nie zablokowała niespodziewanie tabel używanych w działającej aplikacji.

Szybkie sprawdzenie

Co robi polecenie python manage.py sqlmigrate?

Podsumowanie

Dzięki sqlmigrate możesz wyświetlić dokładny SQL stojący za dowolną migracją — wykonywaną do przodu lub cofającą zmiany — dzięki czemu wdrożenia nie kryją niespodzianek. 🔍

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „sqlmigrate i sprawdzanie SQL” jest bezpłatna?

Tak — pełny tekst „sqlmigrate i sprawdzanie SQL” 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 Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „sqlmigrate i sprawdzanie SQL”?

Zobaczyć surowy SQL wykonywany przez migrację Ćwiczysz Django 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ąć Django Academy?

Nie wymagamy żadnego doświadczenia. Django 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 „sqlmigrate i sprawdzanie SQL”?

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 Django Academy?

Tak. Każda lekcja Django 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. makemigrations a migrate
  2. Czytanie pliku migracji
  3. Zmiana modelu i ponowna migracja
  4. sqlmigrate i sprawdzanie SQL
← Powrót do Django Academy