Toolverse
Wszystkie skille

comparing-database-schemas

autor: jeremylongshore

Porównuj schematy baz danych między środowiskami i automatycznie synchronizuj różnice

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Umiejętność do porównywania schematów baz danych między dwoma środowiskami (np. development vs staging). Narzędzie wyodrębnia pełne schematy, identyfikuje brakujące tabele i kolumny, wykrywa różnice w typach danych oraz generuje instrukcje synchronizacji. Obsługuje PostgreSQL, MySQL i MongoDB. Aktywuj frażami: "porównaj schematy", "diff baz danych" lub "synchronizuj schematy".

Jak używać

  1. Przygotuj dostęp do obu baz danych — upewnij się, że masz dane logowania do źródłowej i docelowej bazy oraz że narzędzia CLI (psql dla PostgreSQL, mysql dla MySQL, mongosh dla MongoDB) są skonfigurowane do połączenia z obydwiema bazami.

  2. Wyodrębnij pełne schematy z obu baz danych. Dla PostgreSQL użyj polecenia pg_dump z flagą --schema-only, aby zapisać strukturę bez danych. Dla MySQL użyj mysqldump z flagą --no-data i --routines. Alternatywnie możesz bezpośrednio odpytać tabelę information_schema w obu bazach.

  3. Porównaj tabele między bazami — wykonaj zapytanie do information_schema.tables w obu środowiskach, aby znaleźć tabele, które istnieją w źródle, ale nie w celu (i odwrotnie). To ujawni brakujące tabele.

  4. Porównaj kolumny dla każdej wspólnej tabeli — odpytaj information_schema.columns z obu baz, aby sprawdzić nazwy kolumn, typy danych i ograniczenia. Zidentyfikuj kolumny, które istnieją w jednej bazie, ale nie w drugiej.

  5. Przeanalizuj różnice w typach danych i ograniczeniach — sprawdź, czy kolumny o tej samej nazwie mają identyczne typy danych, wartości domyślne i ograniczenia (NOT NULL, UNIQUE, klucze obce). Umiejętność wygeneruje raport różnic.

  6. Wdróż zmiany synchronizacyjne — na podstawie raportu różnic wykonaj niezbędne instrukcje ALTER TABLE lub CREATE TABLE w bazie docelowej, aby dopasować schemat źródła. Zawsze najpierw przetestuj na kopii.

Podobne skille