Files
kaffeekasse-saas/docs/dev-mysql.md
T
2026-07-12 01:07:35 +02:00

1.9 KiB

Lokaler MySQL-Dev-Start

Die Legacy-App kann fuer Entwicklung gegen MySQL laufen. Dafuer gibt es eine Kompatibilitaetsschicht, die die verwendeten sqlsrv_*-Funktionen im Dev-Modus auf PDO/MySQL abbildet.

Voraussetzungen

  • PHP CLI mit pdo_mysql.
  • MySQL-Testdatenbank.
  • Keine Produktivdaten und keine Produktivpasswoerter im Repository.

In dieser VS-Code-Server-Umgebung wurde PHP lokal unter .local/ entpackt, weil sudo nicht passwordless verfuegbar war. .local/ wird von Git ignoriert.

Umgebungsvariablen

export APP_DB_DRIVER=mysql
export DB_HOST="example.mysql.host"
export DB_PORT="3306"
export DB_NAME="example_database"
export DB_USER="example_user"
export DB_PASS="example_password"
export DEV_AUTH_EMAIL="admin@test.local"
export DEV_AUTH_NAME="Test Admin"
# Optional: Standard ist var/sessions im Repository.
export APP_SESSION_PATH="/path/to/writable/sessions"

Testdatenbank initialisieren

Migrationen anwenden:

php scripts/migrate.php

Dev-Admin und Basistestdaten anlegen:

php scripts/init-mysql-dev.php

In der aktuellen lokalen Umgebung:

LD_LIBRARY_PATH="$PWD/.local/php/usr/lib/x86_64-linux-gnu" \
  "$PWD/.local/php/usr/bin/php8.3" \
  -c "$PWD/.local/php-dev.ini" \
  scripts/init-mysql-dev.php

Server starten

HOST=127.0.0.1 PORT=8080 scripts/run-dev-server.sh

Danach ist die App unter http://127.0.0.1:8080/ erreichbar. In VS Code kann der Port ueber die Ports-Ansicht weitergeleitet werden.

Hinweise

  • Der Dev-Login umgeht AD/LDAP und nutzt DEV_AUTH_EMAIL.
  • Die Tabellen werden ueber database/migrations/ angelegt.
  • database/mysql-dev-schema.sql bleibt als historische Dev-Schema-Baseline erhalten; der aktive Weg ist scripts/migrate.php.
  • Session-Dateien liegen standardmaessig unter var/sessions; var/ wird von Git ignoriert.
  • Der Dev-Modus ist nur fuer lokale Tests gedacht, nicht fuer Produktion.