- https://www.prisma.io/docs/getting-started/quickstart
- https://www.prisma.io/docs/orm/overview/databases/postgresql
- https://hub.docker.com/_/postgres
- init node project:
npm init -y
- install req. npm ackages:
npm install typescript ts-node @types/node --save-dev
- init typescript:
npx tsc --init
- install prisma:
npm i prisma --save-dev
- verify installlation:
npx prisma
- initialize prisma for postgres:
npx prisma init --datasource-provider postgresql
- run docker compose
docker-compose up
(based on docker-compose.yml;-d
: detached from terminal) - show running containers:
docker ps -a
(-a
for all) - test tcp:
test-NetConnection -ComputerName localhost -Port 5432
- access docker bash from container:
docker exec -it <containerid> /bin/bash
- run psql command on docker bash:
psql -U postgres -d <dbname>
- terminal access on postgres , show tables:
\dt
- add basic db schemas ~tables @
schema.prisma
- migrate db schema (create/update db tables):
npx prisma migrate dev --name init
- migrate adds
"@prisma/client": "^5.10.2"
as dependency
(docker-compose.yml is used as default)
- start docker container:
docker-compose up
- stop docker container:
docker-compose stop
- remove docker environment:
docker-compose down
- remove docker environment, including data (volumes):
docker-compose down -v
- psql:
\dt
- psql:
\q
- docker bash:
exit
docker compose and docker ps:
check if tcp connection is available:
access docker and postgres after init:
show tables of initialized db:
migrate the added database schema (tables)
show tables after migration: