projectx/Makefile
2025-06-18 17:50:02 +08:00

62 lines
1.5 KiB
Makefile

DB_URL=postgresql://root:secret@localhost:5432/management?sslmode=disable
.PHONY: network
network:
docker network create management
.PHONY: redis
redis:
docker run --network management --name rd -d -p 6379:6379 redis:7.4-alpine --requirepass "secret"
.PHONY: postgres
postgres:
docker run --name postgres --network management -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret -d postgres:17-alpine
.PHONY: create_db
create_db:
docker exec -it postgres createdb --username=root --owner=root management
.PHONY: drop_db
drop_db:
docker exec -it postgres dropdb management
.PHONY: psql
psql:
docker exec -it postgres psql -U root -d management
.PHONY: migrate_init
migrate_init:
migrate create -ext sql -dir internal/erpserver/repository/migration -seq init_schema
.PHONY: migrate_up
migrate_up:
migrate -path internal/erpserver/repository/migration -database "$(DB_URL)" -verbose up
.PHONY: migrate_down
migrate_down:
migrate -path internal/erpserver/repository/migration -database "$(DB_URL)" -verbose down
.PHONY: db_schema
db_schema:
dbml2sql --postgres -o internal/erpserver/repository/migration/000001_init_schema.up.sql doc/db.dbml
.PHONY: wire
wire:
wire ./...
.PHONY: templ
templ:
templ generate
.PHONY: test
test:
go test -v -cover ./...
.PHONY: ab
ab:
ab -c 200 -n 5000 -H "Cookie: token=5Qvqa6W9tJYUhTe3SHZZ828QExSzkAl9yAs_AX3rfm8" http://localhost:9001/system/role/list
.PHONY: asynqmon
asynqmon:
asynqmon --redis-addr=127.0.0.1:6379 --redis-db=2 --redis-password=secret --port=8081