This repository has been archived by the owner on Sep 8, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
108 lines (82 loc) · 4.25 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#---- COMMANDS ----#
s: ##@Docker (start) Start the webserver on http://localhost:9000
docker-compose up
start: ##@Docker (start) Start the webserver on http://localhost:9000
docker-compose up --build
start-d: ##@Docker (start) Start the webserver on http://localhost:9000, in the background
docker-compose up -d
down:
docker-compose down
shell-backend: ##@Django Open django container
docker exec -it ntnui_backend /bin/bash
shell-db: ##@Postgres Open postgres container
docker exec -it ntnui_db /bin/bash
load-data:
docker-compose run backend python manage.py loaddata ./ntnui/fixture/description.json
docker-compose run backend python manage.py loaddata ./ntnui/fixture/location.json
docker-compose run backend python manage.py loaddata ./ntnui/fixture/koier.json
docker-compose run backend python manage.py loaddata ./ntnui/fixture/fixture.json
docker-compose run backend python manage.py loaddata ./ntnui/fixture/booking.json
docker-compose run backend python manage.py loaddata ./ntnui/fixture/koie_report.json
dump-data: ##@TestEnv Create a JSON Dump of $APP (use APP="appname" from console)
docker-compose run backend python manage.py dumpdata --format=json> ./ntnui/fixture/fixture.json
createsuperuser: ##@Docker Create a superuser (details found in settings/common.py)
docker-compose run backend python manage.py createsuperuser
makemigrations: ##@Docker Set up migration files
docker-compose run backend python manage.py makemigrations ${app-label} --name ${name}
@echo "Migrations completed successfully"
# Run the makemigrations command on every app in the /apps folder
force-makemigrations: ##@Docker Forcibly perform makemigrations on the separate apps
$(foreach app,$(filter-out __pycache__ common, $(APPDIR)),docker-compose run backend python manage.py makemigrations ($(app) &))
@echo "Migrations completed successfully"
dev-clean-install: ##@TestEnv Delete the old database and re-apply testdata
docker-compose down -v
docker-compose build
make makemigrations-koie
make fake-migrate
make migrate
make load-data
make start
makemigrations-koie: ##$Docker Set up migrations files for koie_booking app
docker-compose run backend python manage.py makemigrations koie_booking
@echo "Migrations have been made for koie_booking"
docker-compose run backend python manage.py makemigrations koie_report
@echo "Migrations have been made for koie_report"
fake-migrate: ##@Docker Fake migrations for existing table instances
docker-compose run backend python manage.py migrate --fake accounts
docker-compose run backend python manage.py migrate --fake groups
docker-compose run backend python manage.py migrate --fake payments
@echo "Fake migrations have been successfully migrated"
migrate: ##@Docker Perform migrations to database
docker-compose run backend python manage.py migrate koie_booking
@echo "Migrate completed successfully"
docker-compose run backend python manage.py migrate koie_report
@echo "Migrate completed successfully for koiene_report"
clean: ##@TestEnv Delete the project files in docker, and all not in use containers
docker-compose down -v
docker system prune
pytest: ##@Test (test) Run all docker-tests with pytest, and output a report in the terminal
make setup-tests
docker-compose -f docker-compose.test.yml run backend pytest --cov=. $(ARGS)
setup-tests:
docker-compose -f docker-compose.test.yml run backend python manage.py migrate
pytest-clean: ##@Test (test) Run all docker-tests with pytest without coverage report
docker-compose -f docker-compose.test.yml run backend pytest $(ARGS)
coverage: ##@Test (test) Run all tests and output a HTML report in coverage_report/
make pytest ARGS="--cov-report=html"
black: ##@Format backend code with Black
docker-compose run backend black ntnui/ --config pyproject.toml $(ARGS)
isort: ##@Sort imports across the entire backend to comply with PEP8
docker-compose run backend isort $(ARGS)
format: ##@Format the backend code with black and isort
make black
make isort
flake8: ##@Lints backend with Flake8.
docker-compose run backend flake8
pylint: ##@Lints backend with pylint.
docker-compose run backend pylint ntnui/
check: ##@Runs formatting checks
make black ARGS="--check"
make isort ARGS="--check-only"
make flake8
docker-compose run backend python manage.py makemigrations --check