Files
FlowReader/Makefile

59 lines
1.2 KiB
Makefile

.PHONY: dev build run test lint clean docker-up docker-down migrate-up migrate-down migrate-create
# Development
dev:
go run ./cmd/server
build:
go build -o bin/server ./cmd/server
run: build
./bin/server
# Testing
test:
go test -v ./...
test-coverage:
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out -o coverage.html
# Linting
lint:
golangci-lint run
# Docker
docker-up:
docker-compose up --build -d
docker-down:
docker-compose down
docker-logs:
docker-compose logs -f
# Database migrations
# Requires: go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
DB_URL ?= postgres://flowreader:flowreader@localhost:5432/flowreader?sslmode=disable
migrate-up:
migrate -path ./migrations -database "$(DB_URL)" up
migrate-down:
migrate -path ./migrations -database "$(DB_URL)" down 1
migrate-drop:
migrate -path ./migrations -database "$(DB_URL)" drop -f
migrate-create:
@read -p "Migration name: " name; \
migrate create -ext sql -dir ./migrations -seq $$name
migrate-version:
migrate -path ./migrations -database "$(DB_URL)" version
# Cleanup
clean:
rm -rf bin/
rm -f coverage.out coverage.html