dev-blog

Świetnie, wszystko działa idealnie ✅ Teraz pytasz o dokładnie właściwą rzecz: jak realnie zajrzeć do bazy.

Masz kilka poprawnych opcji — pokażę je od najczystszej (enterprise) do najszybszej.


🥇 OPCJA 1 — psql wewnątrz kontenera (najlepsza)

To jest najczęściej spotykane w praktyce.

1️⃣ Wejdź do kontenera Postgresa

docker exec -it paytrack-user-db psql -U paytrack -d paytrack_users

Jeśli zobaczysz:

psql (15.x)
paytrack_users=#

to jesteś w środku DB 💪


2️⃣ Sprawdź tabelę users

\dt

Oczekiwane:

        List of relations
 Schema | Name  | Type  | Owner
--------+-------+-------+--------
 public | users | table | paytrack

3️⃣ Sprawdź strukturę tabeli

\d users

Zobaczysz m.in.:

To potwierdza, że migracja faktycznie zadziałała.


4️⃣ (Opcjonalnie) wrzuć testowego usera

INSERT INTO users (id, name, email, "createdAt", "updatedAt")
VALUES (
  gen_random_uuid(),
  'Jan Kowalski',
  'jan@example.com',
  now(),
  now()
);

Jeśli gen_random_uuid() nie działa, użyj:

'550e8400-e29b-41d4-a716-446655440000'

5️⃣ Pobierz dane

SELECT * FROM users;

6️⃣ Wyjdź

\q

🥈 OPCJA 2 — połączenie z hosta (psql lokalnie)

Jeśli masz psql zainstalowane lokalnie:

psql -h localhost -p 5432 -U paytrack -d paytrack_users

Hasło: paytrack


🥉 OPCJA 3 — GUI (DataGrip / DBeaver / pgAdmin)

Dane połączenia:

Pole Wartość
Host localhost
Port 5432
Database paytrack_users
User paytrack
Password paytrack

To jest dokładnie to, co robią devy w projektach enterprise.


🧠 DLACZEGO TO JEST WAŻNE (senior perspective)

To, co właśnie zrobiłeś, oznacza że:

Rekruter / TL widząc to repo wie, że:

„ten człowiek wie co robi”


✅ CHECKLISTA — WSZYSTKO GRA

✔ kontener działa ✔ migracja się wykonała ✔ tabela istnieje ✔ schema jest jawna ✔ brak sync()


Jeśli chcesz, kolejny naturalny krok to:

Daj hasło — jedziemy dalej 🚀