3.4 KiB
Warum die Shell-Version von DumboSQL plötzlich sinnvoll erscheint
🔄 Hintergrund
Ursprünglich wurde DumboSQL als CLI-Tool im Rahmen des CakePHP-Projekts implementiert (via bin/cake dumbo_sql). Diese Methode bietet hohe Stabilität und direkte Integration in die MVC-Struktur des "Kuchens". Doch dann folgte der Wunsch, DumboSQL auch direkt im Crumbforest-Terminal ansprechbar zu machen – von Kindern, live in ttyd oder bash.
Das Bash-Skript dumbo.sh wurde geboren.
✨ Vorteile der Shell-Variante (dumbo.sh)
✅ Unabhängig vom Cake-Stack
- Keine Notwendigkeit, den CakePHP-Kern zu laden
- Schnellere Antwortzeiten für einfache Fragen
- Portabel in anderen Systemen oder Containern
✅ Kindgerechte Integration in Terminal-Storys
- "DumboSQL" kann als Figur direkt in einer Session reagieren
- Bash „Feels“ für Kinder durch sichtbaren Aufruf
- Ideal für das Erlernen von Shell-Logik neben SQL
✅ Einfaches Debugging
- Klar nachvollziehbar, was gesendet, gespeichert und empfangen wurde
- Keine PHP-Fehler oder Routing-Issues
⚠️ Nachteile der Shell-Variante
❌ Fehleranfälligkeit
jqmuss installiert sein- JSON-Parsing kann bei fehlerhaften Logs brechen
- Kein Typsystem, keine Validierung
❌ Keine Modell-Logik
- Kein Zugriff auf Datenbankmodelle, Authentifizierung etc.
- Kein „Cake-Logging“, keine Middleware, kein Plugin-Hook
❌ Weniger wartungsfreundlich
- Schwerer testbar als PHP-Komponenten
- Rollentrennung (Kind/Maschine) schwerer zu versionieren
☕ Vorteile der CakePHP-Variante (bin/cake dumbo_sql)
✅ Robust und integriert
- Zugriff auf alle Cake-Models, Tables und Komponenten
- JSON-Logging mit Validierung
- Kontext und Benutzerzugriff sofort nutzbar
✅ Erweiterbar
- Leicht erweiterbar mit Plugins, Middleware, Events
- Direkte Verknüpfung mit Benutzerprofil, Mission etc.
✅ Einheitliche Datenbasis
- Zugriff auf Sessions, Konfigurationen, Views
- Eingebunden in das "Kuchenuniversum" mit Session-Tracking
🧐 Warum dann Bash?
Nicht, weil es besser ist – sondern weil es leichter war. Es war der einfachste Weg, um DumboSQL außerhalb des Cakes zugänglich zu machen.
Ziel: Kindern ein direktes „Frage-Antwort“-Erlebnis im Terminal bieten
Die Shell-Lösung war somit eine niedrigschwellige Erweiterung der kindlichen Zugriffsmöglichkeiten. Sie kann wachsen – aber mittelfristig wird der Cake wieder zur stabileren Heimat.
⚖️ Fazit
| Entscheidungskriterium | Shell (dumbo.sh) |
CakePHP (bin/cake dumbo_sql) |
|---|---|---|
| Geschwindigkeit | ✅ schnell | ❌ langsamer Start |
| Stabilität | ❌ anfällig | ✅ robust |
| Wartbarkeit | ❌ manuell | ✅ integriert |
| Terminal-Story-Kompatibilität | ✅ hoch | ❌ begrenzt |
| Kindgerechte Sichtbarkeit | ✅ direkt | ❌ versteckt hinter PHP |
| Datenbankintegration | ❌ indirekt | ✅ voll integriert |
Langfristig ist das Ziel: Beides harmonisch vereinen. Der Bash-Weg war der erste Schritt zur Autonomie im Terminal. Doch der Kuchen bleibt der Ort, an dem alle Krümel zusammenfinden.