tippspiel2027/README.md
2026-10-03 16:04:09 +02:00

45 lines
2 KiB
Markdown

# Tippspiel 2027
Dieses Projekt ist der offizielle Nachfolger des alten Tippspiels. Es basiert auf reinem PHP, um eine maximale Langlebigkeit, leichte Lesbarkeit und einfache Anpassbarkeit für die Zukunft zu gewährleisten. Komplexe Abstraktionsschichten wurden entfernt und Legacy-Features eliminiert.
## Voraussetzungen
- Docker & Docker Compose V2
## Lokale Entwicklung und Testumgebung starten
Die Applikation und die dazugehörige Datenbank können einfach via Docker gestartet werden:
```bash
docker compose up -d
```
Die Web-Oberfläche ist anschließend unter `http://localhost:8080` erreichbar.
## Daten-Migration (Import vom Live-Dump)
Das alte Projekt basiert auf Laravel und hat einige Features, die im neuen Projekt nicht mehr existieren (wie z.B. "Ligen" oder das "grüne Trikot"). Um mit den echten Testdaten aus dem Live-Betrieb arbeiten zu können, gibt es ein automatisiertes Import-Skript.
### 1. Legacy Datenbank importieren
Zuerst muss der Dump des alten Tippspiels in den laufenden Datenbank-Container importiert werden. Wir laden den alten SQL-Dump in eine Datenbank namens `tippspiel_legacy`:
```bash
# Alte DB im Container anlegen
docker compose exec db mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS tippspiel_legacy;"
# Dump importieren (Beispiel-Kommando)
# docker exec -i $(docker compose ps -q db) mysql -uroot -proot tippspiel_legacy < /pfad/zum/dump.sql
```
### 2. Import-Skript ausführen
Nachdem die alten Daten in der `tippspiel_legacy` Datenbank liegen, kann das Import-Skript ausgeführt werden. Dieses Skript legt automatisch das neue bereinigte Schema (`schema.sql`) in der neuen Datenbank (`tippspiel2027`) an und migriert die Daten. Tote Features und alte Spalten werden dabei automatisch übersprungen.
Das Import-Skript kann im Container aufgerufen werden:
```bash
docker compose exec app php import.php
```
Sobald das Skript durchgelaufen ist, sind die sauberen Daten im System und du kannst die Anwendung auf Port 8080 testen.