projectx/Makefile
2025-03-21 11:05:42 +08:00

48 lines
1.2 KiB
Makefile

DB_URL=postgresql://root:secret@localhost:5432/management?sslmode=disable
network:
docker network create management
redis:
docker run --network management --name rd -d -p 6379:6379 redis:7.2.4 --requirepass "secret"
postgres:
docker run --name postgres --network management -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret -d postgres:16-alpine
createdb:
docker exec -it postgres createdb --username=root --owner=root management
dropdb:
docker exec -it postgres dropdb management
psql:
docker exec -it postgres psql -U root -d management
migrateinit:
migrate create -ext sql -dir internal/db/migration -seq init_schema
migrateup:
migrate -path internal/db/migration -database "$(DB_URL)" -verbose up
migratedown:
migrate -path internal/db/migration -database "$(DB_URL)" -verbose down
db:
sql2dbml --postgres doc/ss.sql -o doc/db.dbm
db_docs:
dbdocs build doc/db.dbml
db_schema:
dbml2sql --postgres -o internal/db/migration/000001_init_schema.up.sql doc/db.dbml
sqlc:
sqlc generate
test:
go test -v -cover ./...
server:
modd
.PHONY: network redis postgres createdb dropdb psql migrateinit migrateup migratedown db_docs db_schema test server