62 lines
1.3 KiB
Makefile
62 lines
1.3 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.2.4 --requirepass "secret"
|
|
|
|
.PHONY: postgres
|
|
postgres:
|
|
docker run --name postgres --network management -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=secret -d postgres:16-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/db/migration -seq init_schema
|
|
|
|
.PHONY: migrate_up
|
|
migrate_up:
|
|
migrate -path internal/db/migration -database "$(DB_URL)" -verbose up
|
|
|
|
.PHONY: migrate_down
|
|
migrate_down:
|
|
migrate -path internal/db/migration -database "$(DB_URL)" -verbose down
|
|
|
|
.PHONY: db
|
|
db:
|
|
sql2dbml --postgres doc/ss.sql -o doc/db.dbm
|
|
|
|
.PHONY: db_docs
|
|
db_docs:
|
|
dbdocs build doc/db.dbml
|
|
|
|
.PHONY: db_schema
|
|
db_schema:
|
|
dbml2sql --postgres -o internal/db/migration/000001_init_schema.up.sql doc/db.dbml
|
|
|
|
.PHONY: sqlc
|
|
sqlc:
|
|
sqlc generate
|
|
|
|
.PHONY: wire
|
|
wire:
|
|
wire ./...
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -v -cover ./...
|