48 lines
1.2 KiB
Makefile
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 |