76 lines
1.7 KiB
Makefile
76 lines
1.7 KiB
Makefile
# Define variables
|
|
DOCKER_COMPOSE = docker-compose
|
|
DOCKER_RUN = $(DOCKER_COMPOSE) run --rm backend
|
|
|
|
|
|
# General
|
|
# -------
|
|
|
|
# Default target
|
|
.PHONY: up
|
|
up: docker-up
|
|
|
|
# Shortcut for first start (initializing database, etc.)
|
|
.PHONY: first-start
|
|
first-start: docker-build db-upgrade docker-up
|
|
|
|
|
|
# Container management
|
|
# --------------------
|
|
|
|
.PHONY: docker-up
|
|
docker-up:
|
|
$(DOCKER_COMPOSE) up --build
|
|
|
|
.PHONY: docker-down
|
|
docker-down:
|
|
$(DOCKER_COMPOSE) down --remove-orphans
|
|
|
|
.PHONY: docker-build
|
|
docker-build:
|
|
$(DOCKER_COMPOSE) build
|
|
|
|
.PHONY: docker-rebuild
|
|
docker-rebuild:
|
|
$(DOCKER_COMPOSE) build --pull --no-cache
|
|
|
|
.PHONY: docker-purge
|
|
docker-purge:
|
|
$(DOCKER_COMPOSE) down --remove-orphans --volumes
|
|
|
|
.PHONY: docker-restart
|
|
docker-restart:
|
|
$(DOCKER_COMPOSE) restart $(SERVICE)
|
|
|
|
.PHONY: docker-logs
|
|
docker-logs:
|
|
$(DOCKER_COMPOSE) logs -f $(SERVICE) || true
|
|
|
|
.PHONY: docker-run
|
|
docker-run:
|
|
$(DOCKER_RUN) $(CMD)
|
|
|
|
.PHONY: docker-shell
|
|
docker-shell:
|
|
$(DOCKER_RUN) bash
|
|
|
|
|
|
# Database management
|
|
# -------------------
|
|
|
|
# Run migrations to upgrade the database to the head revision (set REVISION parameter to override)
|
|
.PHONY: db-upgrade
|
|
db-upgrade:
|
|
$(DOCKER_RUN) alembic upgrade $(or $(REVISION),head)
|
|
|
|
# Run migrations to downgrade the database to the previous revision (set REVISION parameter to override)
|
|
.PHONY: db-downgrade
|
|
db-downgrade:
|
|
$(DOCKER_RUN) alembic downgrade $(or $(REVISION),-1)
|
|
|
|
# Autogenerate a revision for database migration (requires MESSAGE parameter to set the revision message)
|
|
.PHONY: db-generate-migration
|
|
db-generate-migration:
|
|
@test -n "$(MESSAGE)" || (echo "Please set the revision message: make db-generate-migration MESSAGE=\"...\""; exit 1)
|
|
$(DOCKER_RUN) alembic revision --autogenerate -m "$(MESSAGE)"
|