2023-10-08 15:59:42 +07:00
|
|
|
PROJECT_NAME = "furtuna-backend"
|
2024-06-03 14:40:50 +07:00
|
|
|
DB_USERNAME := fortuna_admin
|
2023-10-08 15:59:42 +07:00
|
|
|
DB_PASSWORD := Z4G827t9428QFQ%5ESZXW%2343dB%25%214Bmh80
|
|
|
|
|
DB_HOST := 103.96.146.124
|
|
|
|
|
DB_PORT := 1960
|
2024-06-03 14:40:50 +07:00
|
|
|
DB_NAME := fortuna-staging
|
2023-10-08 15:59:42 +07:00
|
|
|
|
|
|
|
|
DB_URL = postgres://$(DB_USERNAME):$(DB_PASSWORD)@$(DB_HOST):$(DB_PORT)/$(DB_NAME)?sslmode=disable
|
|
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
DETECTED_OS := Windows
|
|
|
|
|
else
|
|
|
|
|
DETECTED_OS := $(shell sh -c 'uname 2>/dev/null || echo Unknown')
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.SILENT: help
|
|
|
|
|
help:
|
|
|
|
|
@echo
|
|
|
|
|
@echo "Usage: make [command]"
|
|
|
|
|
@echo
|
|
|
|
|
@echo "Commands:"
|
|
|
|
|
@echo " rename-project name={name} Rename project"
|
|
|
|
|
@echo
|
|
|
|
|
@echo " build-http Build http server"
|
|
|
|
|
@echo
|
|
|
|
|
@echo " migration-create name={name} Create migration"
|
|
|
|
|
@echo " migration-up Up migrations"
|
|
|
|
|
@echo " migration-down Down last migration"
|
|
|
|
|
@echo
|
|
|
|
|
@echo " docker-up Up docker services"
|
|
|
|
|
@echo " docker-down Down docker services"
|
|
|
|
|
@echo
|
|
|
|
|
@echo " fmt Format source code"
|
|
|
|
|
@echo " test Run unit tests"
|
|
|
|
|
@echo
|
|
|
|
|
|
|
|
|
|
# Build
|
|
|
|
|
|
|
|
|
|
.SILENT: rename-project
|
|
|
|
|
rename-project:
|
|
|
|
|
ifeq ($(name),)
|
|
|
|
|
@echo 'new project name not set'
|
|
|
|
|
else
|
|
|
|
|
ifeq ($(DETECTED_OS),Darwin)
|
|
|
|
|
@grep -RiIl '$(PROJECT_NAME)' | xargs sed -i '' 's/$(PROJECT_NAME)/$(name)/g'
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(DETECTED_OS),Linux)
|
|
|
|
|
@grep -RiIl '$(PROJECT_NAME)' | xargs sed -i 's/$(PROJECT_NAME)/$(name)/g'
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(DETECTED_OS),Windows)
|
|
|
|
|
@grep 'target is not implemented on Windows platform'
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.SILENT: build-http
|
|
|
|
|
build-http:
|
|
|
|
|
@go build -o ./bin/http-server ./cmd/http/main.go
|
|
|
|
|
@echo executable file \"http-server\" saved in ./bin/http-server
|
|
|
|
|
|
|
|
|
|
# Test
|
|
|
|
|
|
|
|
|
|
.SILENT: test
|
|
|
|
|
test:
|
|
|
|
|
@go test ./... -v
|
|
|
|
|
|
|
|
|
|
# Create migration
|
|
|
|
|
|
|
|
|
|
.SILENT: migration-create
|
|
|
|
|
migration-create:
|
|
|
|
|
@migrate create -ext sql -dir ./migrations -seq $(name)
|
|
|
|
|
|
|
|
|
|
# Up migration
|
|
|
|
|
|
|
|
|
|
.SILENT: migration-up
|
|
|
|
|
migration-up:
|
|
|
|
|
@migrate -database $(DB_URL) -path ./migrations up
|
|
|
|
|
|
|
|
|
|
# Down migration
|
|
|
|
|
|
|
|
|
|
.SILENT: migration-down
|
|
|
|
|
migration-down:
|
|
|
|
|
@migrate -database $(DB_URL) -path ./migrations down 1
|
|
|
|
|
|
|
|
|
|
.SILENT: seeder-create
|
|
|
|
|
seeder-create:
|
|
|
|
|
@migrate create -ext sql -dir ./seeders -seq $(name)
|
|
|
|
|
|
|
|
|
|
.SILENT: seeder-up
|
|
|
|
|
seeder-up:
|
|
|
|
|
@migrate -database $(DB_URL) -path ./seeders up
|
|
|
|
|
|
|
|
|
|
# Docker
|
|
|
|
|
|
|
|
|
|
.SILENT: docker-up
|
|
|
|
|
docker-up:
|
|
|
|
|
@docker-compose up -d
|
|
|
|
|
|
|
|
|
|
.SILENT: docker-down
|
|
|
|
|
docker-down:
|
|
|
|
|
@docker-compose down
|
|
|
|
|
|
|
|
|
|
# Format
|
|
|
|
|
|
|
|
|
|
.SILENT: fmt
|
|
|
|
|
fmt:
|
|
|
|
|
@go fmt ./...
|
|
|
|
|
|
|
|
|
|
start:
|
|
|
|
|
go run main.go --env-path .env
|
|
|
|
|
|
|
|
|
|
# Default
|
|
|
|
|
|
|
|
|
|
.DEFAULT_GOAL := help
|