df/Makefile
2023-10-02 23:32:16 +02:00

62 lines
2.2 KiB
Makefile

DB_URL=postgresql://root:secret@localhost:5432/df?sslmode=disable
reset_docker:
docker rm -vf df; docker rmi -f df; docker rm -vf postgres; docker rmi -f postgres; docker rm -vf migrate
backend_build:
make network; \
make postgres; \
docker rm -vf df; \
docker rmi -f df:latest; \
docker rmi -f docker.io/library/golang:1.21-alpine3.18; \
docker build -t df:latest -f bff/Dockerfile; \
docker exec -it postgres createdb --username=root --owner=root df; \
docker run --name migrateup --rm --privileged=true -v $(PWD)/bff/db/migration:/migrations --network host migrate/migrate -path=/migrations/ -database $(DB_URL) up
backend:
docker start postgres; docker rm -vf df; docker run --name df --rm -p 8080:8080 --network df-network -d df:latest
backend-stop:
docker stop postgres; docker stop df
network:
docker network create df-network
postgres:
docker start postgres || docker run --name postgres -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret --network df-network -d postgres:15-alpine
migratenew:
docker run --name migratenew --privileged=true --rm -v $(PWD)/bff/db/migration:/migrations --network host migrate/migrate -path=/migrations/ create -ext sql -dir migrations -seq $(name)
migrateup:
docker run --name migrateup --privileged=true --rm -v $(PWD)/bff/db/migration:/migrations --network host migrate/migrate -path=/migrations/ -database $(DB_URL) up
migratedown:
docker run --name migratedown --privileged=true --rm -v $(PWD)/bff/db/migration:/migrations --network host migrate/migrate -path=/migrations/ -database $(DB_URL) down
createdb:
docker exec -it postgres createdb --username=root --owner=root df
dropdb:
docker exec -it postgres dropdb df
sqlc:
cd bff && sqlc generate && cd ..
sqlcinit:
sqlc init
test:
cd bff && go test -v -cover -short -count=1 ./... && cd ..
coverage:
cd bff && go test -coverprofile=coverage.out ./... && go tool cover -html=coverage.out && cd ..
server:
cd bff && go run main.go && cd ..
mock:
cd bff && mockgen -package mockdb -destination db/mock/store.go github.com/itsscb/df/bff/db/sqlc Store && cd ..
.PHONY: postgres migratenew createdb dropdb migrateup migratedown sqlc sqlcinit test server backend_build backend backend-stop reset_docker