projectx/Makefile
2025-06-14 21:12:52 +08:00

58 lines
1.4 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=7a-zLwSNZmSF8LnMG-qC90I_pjs89tyaK_XR8HYBMZA" http://localhost:9001/system/role/list