-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
68 lines (53 loc) · 1.56 KB
/
Makefile
File metadata and controls
68 lines (53 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
ifneq (,$(wildcard .env))
include .env
export $(shell sed 's/=.*//' .env)
endif
ENVIRONMENT := "DEVELOPMENT2"
DB_URL := "postgresql://postgres:1234@localhost:5432/postgres"
GO_BIN := $(shell go env GOPATH)/bin
GOOSE_DRIVER := postgres
GOOSE_DBSTRING := $(DB_URL)
GOOSE_MIGRATION_DIR := ./db/migrations/
ifeq ($(OS),Windows_NT)
BIN_NAME := bin/anokha-backend.exe
else
BIN_NAME := bin/anokha-backend
endif
setup:
go install github.com/air-verse/air@latest
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
go install github.com/evilmartians/lefthook@latest
go install github.com/pressly/goose/v3/cmd/goose@latest
@lefthook install
@echo "All CLI tools installed successfully in $(GO_BIN)"
dev:
@air
build:
@go mod tidy
@go fmt ./...
@go build -o $(BIN_NAME) main.go
run: build
@./$(BIN_NAME)
up:
@goose -dir $(GOOSE_MIGRATION_DIR) $(GOOSE_DRIVER) $(GOOSE_DBSTRING) up
upone:
@goose -dir $(GOOSE_MIGRATION_DIR) $(GOOSE_DRIVER) $(GOOSE_DBSTRING) up-by-one
seed: build
@if [ "$(subst ",,$(ENVIRONMENT))" = "DEVELOPMENT" ]; then \
go run seed/seed.go seed/truncate.go seed/main.go -s; \
else \
echo "Skipping seed: not in DEVELOPMENT environment."; \
fi
down:
@goose -dir $(GOOSE_MIGRATION_DIR) $(GOOSE_DRIVER) $(GOOSE_DBSTRING) reset
downto:
@goose -dir $(GOOSE_MIGRATION_DIR) $(GOOSE_DRIVER) $(GOOSE_DBSTRING) down-to $(v)
status:
@goose -dir $(GOOSE_MIGRATION_DIR) $(GOOSE_DRIVER) $(GOOSE_DBSTRING) status
clean:
@go run seed/seed.go seed/truncate.go seed/main.go -c
doc:
@docker compose up -d
pod:
@podman compose down
@podman compose up -d