Databáze - Rumec/pb138-project GitHub Wiki
Jak zprovoznit databázi
-
týká se to backendu, tj. projekt DB-server
-
je třeba mít nainstalovaný databázový server typu PostgreSQL
- instalace skrze Docker:
docker run -p 5432:5432 --name pc-configurator-db-server -e POSTGRES_PASSWORD=mypassword -d postgres
- toto vytvoří default databázi
postgres
- použije se default login
postgres
- výsledek by měl vypadat takto (Docker desktop):
- alternativně lze zkontrolvat pomocí příkazu
docker ps
(Process Status), který vypíše kontejnery
- alternativně lze zkontrolvat pomocí příkazu
- toto vytvoří default databázi
- instalace skrze Docker:
-
connection string se nachází v souboru
.env
jako "environment variable" DATABASE_URL:- tento connection string se načítá do souboru
schema.prisma
z tohoto souboru.env
volánímenv("DATABASE_URL")
DATABASE_URL="postgresql://postgres:mypassword@localhost:5432/pc-configurator-db?schema=public"
- tento connection string typu postgresql definuje/požaduje: ¨
- databázi
pc-configurator-db
- ve schématu
public
(nemusí se uvést,public
je default) - na adrese
localhost:5432
(127.0.0.1:5432
) - přihlášení:
- login
postgres
- heslo
mypassword
- login
- databázi
- tento connection string typu postgresql definuje/požaduje: ¨
- tento connection string se načítá do souboru
-
prohlížet databázový server lze skrze program pgAdmin (https://www.pgadmin.org/download/pgadmin-4-windows/)
- POZOR: Create znamená "Přidat připojení k..."
- POZOR: Create znamená "Přidat připojení k..."
-
pokud je běžící container s Postgre databází, tak potom se k ní lze připojit na portu 5432 (127.0.0.1) pod jménem postgres a heslem mysecretpassword
další postup:
1. Jak založit tabulky
- toto typicky jednou/poprvé pro vytvoření databáze a tabulek v lokálním databázovém serveru typu PostgreSQL
2. Jak vložit data do databáze (seed)
- při potřebě resetování dat v databázi
Jak založit tabulky a databázi (migrace schématu)
- spustit
npm run migrate
(to spustí skriptmigrate
zpackage.json
tohoto projektu)- alternativně:
- toto založí databázi, pokud neexistuje (
prisma generate dev
(interně zavolaný příkaz) "generates the database if it does not exist")
Jak vložit data do databáze (seed)
- v
package.json
spustit skriptseed
: - to reálně spustí funkci
main()
vseed.ts
, která v aktuální verzi vymaže stará data a vloží sample data ze souborucomponents/all.ts