Datenbankverwaltung für das Archiv für populäre Musik im Ruhrgebiet e.V.
Links:
Das Script installiert Docker und lädt MIZDB in einen Unterordner im gegenwärtigen Verzeichnis herunter.
Beim Aufruf des Scripts kann eine Backup-Datei der Datenbank übergeben werden (unten: database_backup
), worauf die
Datenbank in der neuen Installation sofort wiederhergestellt wird.
sudo apt update -qq && sudo apt install -qq -y curl
curl -fsSL https://raw.githubusercontent.com/Actionb/MIZDB/master/scripts/get-mizdb.sh -o /tmp/get-mizdb.sh
sh /tmp/get-mizdb.sh database_backup
rm /tmp/get-mizdb.sh
Siehe auch:
Für die Verwaltung der Anwendung steht das Programm mizdb.sh
im MIZDB Verzeichnis zur Verfügung:
cd MIZDB_VERZEICHNIS && bash mizdb.sh help
Wurde MIZDB mithilfe des Scripts oben erstellt, so steht systemweit der Befehl mizdb
zu Verfügung:
mizdb help
Dieser kann anstelle von bash mizdb.sh
verwendet werden (also z.B. mizdb reload
anstelle
von bash mizdb.sh reload
).
Weitere Informationen mit einer Auflistung der verfügbaren Befehle gibt es in der Dokumentation:
Note
Beachte die build prerequisites/requirements für psycopg2 und mod_wsgi:
Repository klonen:
git clone https://github.com/Actionb/MIZDB MIZDB
cd MIZDB
Virtuelle Umgebung erstellen:
python -m venv .venv
echo 'export "DJANGO_DEVELOPMENT=1"' >> .venv/bin/activate
. .venv/bin/activate
Project Abhängigkeiten und Git Hooks installieren:
pip install -r requirements/dev.txt
npm install
pre-commit install
uv installieren: https://docs.astral.sh/uv/getting-started/installation/
Dann:
git clone https://github.com/Actionb/MIZDB MIZDB
cd MIZDB
uv venv
echo 'export "DJANGO_DEVELOPMENT=1"' >> .venv/bin/activate
. .venv/bin/activate
uv pip install -r requirements/dev.txt
npm install
pre-commit install
Mit coverage und ohne Playwright Tests:
pytest -n auto -m "not e2e" --cov=. --cov-report html --cov-branch tests
Die Playwright Browser müssen installiert sein:
playwright install
Dann Playwright Tests auszuführen:
pytest -n auto --browser firefox tests/test_site/test_playwright
Teste MIZDB mit verschiedenen Python-Versionen und den Produktions-Settings:
tox
Benutze
npm run sass-build
oder
npm run sass-watch
Um die CSS Dateien zu erstellen.
Links:
Um die Hilfe Seiten der MIZDB "site" app zu erzeugen, benutze:
mkdocs build
Ein post build hook
erzeugt aus den mkdocs html Dateien Django Templates und legt sie unter dbentry/site/templates/help
ab.
-
Git-Flow
release
branch erzeugen:git flow release start '1.0.1'
(siehe hier für mehr Informationen)
-
Versionsdatei aktualisieren.
Dazu können Git-Flow Hooks verwendet werden: https://github.com/jaspernbrouwer/git-flow-hooks. Der folgende Befehl installiert die notwendigen Hooks im lokalen git Verzeichnis:./scripts/git-flow-hooks.sh
Siehe auch: Git-Flow Hooks with smartgit
Alternativ steht ein Skript zur Verfügung, um die Versionsdatei zu aktualisieren:
./scripts/bump_version.py {major,minor,patch}
-
release
branch beenden:git flow release finish '1.0.1'
Note
Wird git-flow-hooks benutzt, um die Versionsdatei zu aktualisieren, muss bei dem Befehl git flow release start
keine
Version angegeben werden; git-flow-hooks ermittelt die neue Version aus der Versionsdatei.