kers/Makefile

39 lines
1.1 KiB
Makefile
Raw Permalink Normal View History

2020-07-25 09:53:37 +00:00
KERS_DB_BACKEND ?= mysql
KERS_SQLITE_FILE ?= kers.sqlite3
2020-07-25 08:44:18 +00:00
2020-07-25 08:59:30 +00:00
# Discover virtualenv location
PYTHON ?= $(shell find -mindepth 3 -maxdepth 3 -path "*/bin/python")
2020-07-25 08:44:18 +00:00
ifeq ($(PYTHON),)
2020-07-25 09:04:56 +00:00
$(error No virtualenv found)
2020-07-25 08:44:18 +00:00
endif
VENVBIN := $(dir $(PYTHON))
2020-07-25 08:59:30 +00:00
.PHONY: server celery beat
2020-07-25 08:44:18 +00:00
server:
$(PYTHON) manage.py runserver
2020-07-22 02:02:13 +00:00
celery:
2020-07-25 08:44:18 +00:00
$(VENVBIN)/celery -A KeRS worker -l info
2020-07-22 02:02:13 +00:00
beat:
2020-07-25 08:44:18 +00:00
$(VENVBIN)/celery -A KeRS beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
.PHONY: migrations migrate
2020-07-25 08:59:30 +00:00
migrations:
$(PYTHON) manage.py makemigrations
migrate:
$(PYTHON) manage.py migrate
2020-07-25 09:53:37 +00:00
.PHONY: reset_db rewrite_migrations
reset_db:
@case "$(KERS_DB_BACKEND)" in \
2020-07-25 09:53:37 +00:00
mysql) printf "Please drop your MySQL/MariaDB tables and press enter"; read; ;; \
sqlite3) echo 'rm -f "$(KERS_SQLITE_FILE)"'; rm -f "$(KERS_SQLITE_FILE)"; ;; \
2020-07-25 09:53:37 +00:00
esac
make migrate
2020-07-25 08:44:18 +00:00
rewrite_migrations:
@printf "Only for when there is no data in production yet. Continue? (y/N) "; read continue; [ "$$continue" = y ]
# Remove migrations but not users' migrations 0001 and 0002
rm -f events/migrations/0*_*.py users/migrations/000[3-9].py users/migrations/00[1-9]*.py
2020-07-25 08:59:30 +00:00
make migrations
2020-07-25 09:53:37 +00:00
make reset_db