SQLITE_FILE ?= kers.sqlite3 KERS_SUPERUSER_ZEUSID ?= 1 KERS_SUPERUSER_NAME ?= admin KERS_SUPERUSER_PASSWORD ?= admin # Discover virtualenv location PYTHON ?= $(shell find -mindepth 3 -maxdepth 3 -path "*/bin/python") ifeq ($(PYTHON),) $(error No virtualenv found) endif VENVBIN := $(dir $(PYTHON)) .PHONY: server celery beat server: $(PYTHON) manage.py runserver celery: $(VENVBIN)/celery -A KeRS worker -l info beat: $(VENVBIN)/celery -A KeRS beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler .PHONY: migrations migrate superuser migrations: $(PYTHON) manage.py makemigrations migrate: $(PYTHON) manage.py migrate superuser: (sleep 1; echo "$(KERS_SUPERUSER_PASSWORD)"; sleep 0.5; echo "$(KERS_SUPERUSER_PASSWORD)"; sleep 1; echo "y") | \ socat - EXEC:'$(PYTHON) manage.py createsuperuser --username $(KERS_SUPERUSER_NAME) --zeus_id $(KERS_SUPERUSER_ZEUSID)',pty,setsid,ctty .PHONY: rewrite_migrations rewrite_migrations: @printf "Only for when there is no data in production yet. Continue? (y/N) "; read continue; [ "$$continue" = y ] rm -f events/migrations/0*_*.py users/migrations/0*_*.py rm -f "$(SQLITE_FILE)" make migrations make migrate make superuser