diff --git a/Makefile b/Makefile index 6986569..997d579 100644 --- a/Makefile +++ b/Makefile @@ -10,12 +10,20 @@ NATS_VERSION := 2.12.0-alpine3.22 dockerize-db: docker rm -f $(DB_NAME) docker run --name $(DB_NAME) -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=developer -e POSTGRES_DB=$(DB_NAME) -p 5432:5432 -d timescale/timescaledb-ha:$(TIMESCALE_VERSION) + sleep 10 + make migrateup .PHONY: dockerize-nats # Remove and create a NATS server. dockerize-nats: docker rm -f $(NATS_NAME) docker run --name $(NATS_NAME) -p 4222:4222 -d nats:$(NATS_VERSION) + sleep 5 + +.PHONY: migrateup +# Migrate all schemas, triggers and data located in database/migrations. +migrateup: + go run -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest -path app/database -database "postgresql://developer:secret@localhost:5432/$(DB_NAME)?sslmode=disable" -verbose up .PHONY: run # Start app in development environment @@ -25,4 +33,11 @@ run: .PHONY: run-prod run-prod: # Start app in production environment - go run ./app/. -env=prod \ No newline at end of file + go run ./app/. -env=prod + +.PHONY: lazy-start +lazy-start: +# Install dependencies, tools, dockerize containers, run tests and run app. + make dockerize-db + make dockerize-nats + make run-prod \ No newline at end of file