DenoGres 2.0 jest już dostępny! Ta wersja zawiera nowy zestaw funkcji zbudowany na bazie DenoGres 1.0, zapewniający programistom więcej narzędzi i powodów do pracy w DenoGres.

Przyjazny dla użytkownika graficzny interfejs użytkownika, dwukierunkowa synchronizacja baz danych, zapełnianie baz danych i rejestrowanie migracji to tylko niektóre funkcje zawarte w DenoGres 2.0!

Wstęp

Dzisiaj wypuszczamy kolejną iterację DenoGres, wersję 2.0. Wersja 2.0 zawiera znaczną liczbę ulepszeń podstawowych funkcjonalności, dzięki którym DenoGres jest nie tylko łatwiejszy w użyciu, ale także stanowi bardziej wszechstronne rozwiązanie ORM łączące PostgreSQL ze środowiskiem wykonawczym Deno.

Najważniejsze informacje w tej wersji obejmują:

  • Dwukierunkowa synchronizacja bazy danych/modelu
  • Zasypywanie bazy danych
  • Graficzny interfejs przeglądarki zapytań
  • Rejestrowanie migracji bazy danych

Dwukierunkowa synchronizacja bazy danych

Jedną z podstawowych funkcji zaimplementowanych w wersji 2.0 jest dodanie dwukierunkowej synchronizacji baz danych. Po wywołaniu polecenia „ — db-pull” DenoGres utworzy plik model.ts. Ten plik reprezentuje schemat bazy danych użytkownika z PostgreSQL w formie obiektowej TypeScript. Wszelkie zmiany zachodzące w PostgreSQL można pobrać do katalogu projektu użytkownika, wywołując „ — db-pull”, co nadpisze bieżący plik modelu w DenoGres. Kolejną funkcjonalnością związaną z tą funkcją jest możliwość synchronizacji zmian w schemacie bazy danych PostgreSQL poprzez model ORM (model.ts) w DenoGres. Jeśli użytkownik chce wprowadzić zmiany w swoim schemacie PostgreSQL, może to zrobić w swoim własnym IDE, modyfikując plik model.ts i wywołując polecenie „ — db-sync”. Wywołanie „ — db-sync” spowoduje użycie pliku model.ts jako bazy i zsynchronizowanie schematu bazy danych PostgreSQL w celu dopasowania modeli z pliku model.ts.

Uwaga! Wszystkie zmiany schematu bazy danych można synchronizować jedna po drugiej, jednak znacznie efektywniejsze jest wprowadzenie wszystkich zmian na raz, a następnie zsynchronizowanie ich razem.

Po wprowadzeniu zmian w modelu uruchom polecenie „ — db-sync”, a wszystkie zmiany wprowadzone w modelu zostaną zsynchronizowane ze schematem bazy danych PostgreSQL.

Zakładanie bazy danych

Dzięki naszemu najnowszemu dodatkowi inicjowania baz danych możesz teraz wstawiać dane testowe do swojej bazy danych PostgreSQL bezpośrednio przez DenoGres! Aby rozpocząć, musisz najpierw utworzyć plik o nazwie seed.ts w katalogu głównym. Następnie utwórz tablicę obiektów, przypisując ją do etykiety odpowiadającej nazwie tabeli, którą chcesz utworzyć w bazie danych PostgreSQL. W nowo utworzonej zmiennej każdy obiekt w tablicy będzie reprezentował rekord (wiersz), który ma zostać dodany do bazy danych PostgreSQL.

Uwaga: upewnij się, że każdy obiekt danych jest zgodny ze schematem określonym w pliku model.ts.

Przykład pliku seed.ts wygląda następująco:

Teraz wystarczy uruchomić: denogres — db-seed

Przeglądarka zapytań GUI

Wersja 2.0 wprowadza wizualną przeglądarkę zapytań, którą można otworzyć za pomocą interfejsu wiersza poleceń. Wcześniej dostęp do wszystkich funkcji DenoGres wymagał wykonywania skryptów, a użytkownicy ograniczali się do analizowania danych SQL z poziomu wiersza poleceń. Przeglądarka zapytań została zaprojektowana, aby sprostać takim wyzwaniom i umożliwia bardziej usprawniony i wydajny przepływ pracy.

W ramach wersji przeglądarki zapytań z graficznym interfejsem użytkownika wprowadzono dwie główne sekcje: menedżer połączeń i eksplorator zapytań. W menedżerze połączeń użytkownicy mogą tworzyć/aktualizować/usuwać dane uwierzytelniające bazy danych, które zostaną zapisane na ich kontach. W menedżerze połączeń użytkownicy mogą także łączyć się z wybranymi bazami danych. Gdy użytkownik połączy się z bazą danych, GUI przekieruje go do eksploratora zapytań.

W eksploratorze zapytań użytkownicy mogą zobaczyć klasy Modelu powiązane z daną bazą danych. Mogą także generować i uruchamiać zapytania względem swoich modeli.

Rejestracja migracji bazy danych

W DenoGres 1.0 brakowało możliwości śledzenia lub przechowywania migracji baz danych. Jeśli użytkownik zdecydowałby się zmienić kształt swojego modelu, a tydzień później zrezygnował, nie miałby możliwości powrotu do poprzedniego schematu. DenoGres 2.0 rozwiązuje ten problem.

Przed DenoGres 2.0, gdy użytkownik wprowadzi polecenie CLI „ — db-pull”, tworzony będzie pojedynczy model ORM w oparciu o bieżący schemat PostgreSQL. Jeśli użytkownik wprowadził zmiany w modelu danych, a następnie chciał wrócić do pierwotnego modelu, szczegóły dotyczące oryginalnego modelu zostaną trwale utracone. Teraz, gdy użytkownik pobierze schemat swojej bazy danych do pliku model.ts, DenoGres automatycznie utworzy kopię zapasową tego modelu i zapisze ją do późniejszego wykorzystania.

Dzięki dodaniu dwukierunkowej synchronizacji baz danych, za każdym razem, gdy zostanie uruchomione polecenie „ — db-sync”, DenoGres automatycznie utworzy kopię zapasową modelu ORM po jego synchronizacji. Dzięki temu użytkownik może mieć model, aby ponownie zsynchronizować kształt schematu bazy danych PostgreSQL, jeśli zajdzie potrzeba powrotu do dowolnego zapisanego modelu w dowolnym momencie.

W fazie rozwoju

W miarę poszerzania się wsparcia dla DenoGres zespół ma nadzieję wdrożyć następujące zmiany w kolejnej wersji DenoGres:

  • Dalsze wsparcie dla dbSync — ostatecznie uwzględnia wiele asocjacji i złożonych kluczy unikalnych w modelu DenoGres.
  • Nowe polecenie „Porównaj” — wyświetla obok siebie różnice pomiędzy poprzednimi modelami (jeśli takie istnieją).
  • Dalsze aktualizacje dziennika migracji — dziennik będzie widoczny w interfejsie GUI, dzięki czemu użytkownicy będą mogli śledzić/przeglądać/porównywać wersje modeli.
  • Diagramy w stylu ERD — zostaną wygenerowane w interfejsie GUI, dzięki czemu użytkownicy będą mogli uzyskać kompleksowy wgląd w swój model danych.
  • Dodatkowa obsługa MySQL, SQL Server itp.

Dokumentacja

Aby dowiedzieć się więcej o DenoGres, odwiedź https://denogres.deno.dev/

Współautorzy