Add Alembic to project for database migrations
This commit is contained in:
parent
7755bfb46d
commit
7ce43a2bfe
15 changed files with 256 additions and 49 deletions
36
Makefile
36
Makefile
|
|
@ -2,9 +2,17 @@
|
|||
DOCKER_COMPOSE = docker-compose
|
||||
DOCKER_RUN = $(DOCKER_COMPOSE) run --rm backend
|
||||
|
||||
|
||||
# General
|
||||
# -------
|
||||
|
||||
# Default target
|
||||
.PHONY: all
|
||||
all: docker-up
|
||||
.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
|
||||
|
|
@ -16,7 +24,7 @@ docker-up:
|
|||
|
||||
.PHONY: docker-down
|
||||
docker-down:
|
||||
$(DOCKER_COMPOSE) down
|
||||
$(DOCKER_COMPOSE) down --remove-orphans
|
||||
|
||||
.PHONY: docker-build
|
||||
docker-build:
|
||||
|
|
@ -28,7 +36,7 @@ docker-rebuild:
|
|||
|
||||
.PHONY: docker-purge
|
||||
docker-purge:
|
||||
$(DOCKER_COMPOSE) down --volumes
|
||||
$(DOCKER_COMPOSE) down --remove-orphans --volumes
|
||||
|
||||
.PHONY: docker-restart
|
||||
docker-restart:
|
||||
|
|
@ -45,3 +53,23 @@ docker-run:
|
|||
.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)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue