Przejdź do treści

Baza danych

Spring Boot – Spring Data JPA część II: Powiązania między tabelami

W pierwszej części postu Spring Boot – Interakcja z bazą danych, czyli Spring Data JPA, opisywałem jak się połączyć z bazą i jak stworzyć pierwszą encję. W tej części postaram się pokazać, jak możemy zdefiniować powiązania pomiędzy encjami oraz jak możemy wykonywać zapytania z ich użyciem.

Czytaj dalej »Spring Boot – Spring Data JPA część II: Powiązania między tabelami

Wsparcie dla pola typu JSONB w PostgreSQL dla Spring Data JPA + Hibernate

Od wersji 9.4 PostgreSQL oferuje nowy typ danych, którym jest JSONB. Wcześniej w wersji 9.2 został wprowadzony typ JSON, który przechowuje dane w tym formacie w wersji tekstowej. Wymagało to parsowania danych przed wykonaniem jakiejkolwiek operacji na nich. JSONB przechowuje zdekomponowane dane binarne, dzięki czemu mamy do nich szybszy dostęp. Dodatkowo możemy ich użyć do tworzenia indeksów, joinów itp.

Wygląda to bardzo pięknie i równie dobrze sprawdza się w praktyce, jednak Hibernate nie wspiera natywnie tego rodzaju pól. Można to jednak obejść, tworząc własny typ danych oraz mówiąc mu jak może ten typ zserializować do formatu JSON. W tym poście przejdziemy przez proces tworzenia własnego typu.

Czytaj dalej »Wsparcie dla pola typu JSONB w PostgreSQL dla Spring Data JPA + Hibernate

Dodanie unikalnej kolumny do istniejącej tabeli w Django

Czasami zachodzi potrzeba dodania nowej, unikalnej kolumny do istniejącego już modelu w Django. Niestety jeśli w tabelce istnieją już wpisy, otrzymamy błąd. W takim przypadku, dodanie nowej kolumny należy podzielić na 3 kroki. Stworzenie kolumny bez indeksu unikalnego, wygenerowanie unikalnych wartości, dodanie indeksu. Możemy to osiągnąć, za pomocą standardowego mechanizmu migracji, który znajduje się w… Czytaj dalej »Dodanie unikalnej kolumny do istniejącej tabeli w Django