SQLite Data Studio: Verbindungen
Konzept
Benannte Verbindungen werden im Admin-Bereich „Verbindungen„ verwaltet und als JSON unter
conf/wksqliteds.connections.json gespeichert (atomarer Schreibvorgang: Temp-Datei +
Rename, .bak vor jedem Überschreiben). Ein Datensatz: name, driver, host,
port, database, dbfile (SQLite/Access), user, secret (Referenz, nie
Klartext), charset, options.
Secret-Schemata
| Schema | Bedeutung | Einsatz |
|---|---|---|
| (leer) | kein Passwort | SQLite-Datei, vertrauter Socket |
vault:<id> | über den wkvault-Service vault.secrets | Ziel, sobald vault-core scharfgeschaltet ist |
env:<VAR> | aus der Prozessumgebung | empfohlener Interim für Produktion |
enc:<base64> | AES-verschlüsselt mit dem Instanz-Salt | Einzelhost-Interim |
plain:<base64> | nur base64 | nur Dev/Test |
vault:-Pfad ist verdrahtet, löst aber erst auf, sobald vault-core
produktiv ist (Stand dieser Seite: wkvault befindet sich in eigenständiger Entwicklung,
siehe das laufende Remote-Access-Portal-Programm). Bis dahin env: (bevorzugt) oder
enc: verwenden — beide funktionieren bereits unverändert.
Der Admin-Bereich zeigt nie den Secret-Klartext, nur eine Kurzbeschreibung des Schemas
(ConnectionManager::describeSecret()) — auch im Auxbar-AJAX-Endpunkt.
„Connect to…"
Eine neue SQLite-Verbindung lässt sich ohne manuelle Pfadeingabe anlegen: Auswahl direkt
aus DokuWikis Medien-Namespace-Baum (nur .sqlite3-Dateien, ACL-geprüft — der Baum zeigt
ausschließlich Namespaces, die das aktuelle Konto tatsächlich lesen darf). Betriebshinweis:
.sqlite3 ggf. in conf/mime.local.conf als Upload-Mimetype freischalten, sonst
verweigert DokuWikis Medien-Upload die Datei.
Migration von der Altdatei
Vor der Umbenennung des Plugins (wvdsdwmsqlite → wksqliteds, 2026-07-14) lag der
Speicherort unter conf/wvdsdwmsqlite.connections.json. Eine einmalige, automatische
Übernahme läuft beim ersten load() nach der Umbenennung: existiert die neue Datei noch
nicht, aber die alte schon, wird der Inhalt kopiert (nicht verschoben) — die Altdatei
bleibt als manueller Rollback-Punkt liegen. Sobald die neue Datei einmal existiert (egal ob
migriert oder frisch gespeichert), wird die Altdatei nie wieder konsultiert.
Backend-Treiber
| Backend | Treiber-Schlüssel | Windows-Voraussetzung |
|---|---|---|
| SQLite | sqlite | — |
| MySQL/MariaDB | mysql | pdo_mysql |
| PostgreSQL | pgsql | pdo_pgsql |
| SQL Server | sqlsrv | Microsoft ODBC Driver for SQL Server |
| MS Access | access (intern odbc) | ACE/Jet-ODBC-Treiber „Microsoft Access Driver (*.mdb, *.accdb)“ + pdo_odbc |
Sicherheit
- Secrets nie im Klartext gespeichert, nie in Fehlermeldungen — nur die Referenz-Zeichenkette (Schema + ID/Variable) landet in
connections.json. - Verbindungsverwaltung (anlegen/bearbeiten/löschen/testen) erfordert die Fähigkeit
adminder Berechtigungs-Matrix — dieselbe Fähigkeit, die auch den Berechtigungs-Matrix-Dialog selbst freischaltet (beide gelten als „administrative Verwaltung„, nicht als normale Studio-Nutzung). - Löschen einer Verbindung läuft über einen echten Zwei-Schritt-Bestätigungsdialog (kein natives
confirm()) — Details zum Muster: Studio → Dialog-Katalog.
Verwandte Themen
- SQLite Data Studio: Admin-Oberfläche — Objekt-Explorer zeigt alle Verbindungen als Wurzelknoten
- SQLite Data Studio: Berechtigungen — verbindungsscope-spezifische Fähigkeits-Regeln
Verifiziert gegen: wk-dw-sqliteds-plugin@a84984f (2026-07-15).