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: sqlc generate 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: mockgen -package mockdb -destination bff/db/mock/store.go github.com/itsscb/df/bff/db/sqlc Store .PHONY: postgres migratenew createdb dropdb migrateup migratedown sqlc sqlcinit test server backend_build backend backend-stop reset_docker