Ein Datenbank-Client in neovim

Es gibt ja immer mal wieder den Fall, dass man mal schnell in der Datenbank eine Query abfeuern möchte. Nur um mal zu schauen, ob die Daten, die man gerade über Doctrine gezogen hat, auch stimmen. Oder sich mal kurz einen Überblick verschaffen möchte, wie denn die Datenbank überhaupt aufgebaut ist.
Natürlich kann man dann Tools wie Sequel Ace oder DBeaver verwenden. IDEs wie PhpStorm bringen ihre eigenen Database-Viewer mit, mit denen man solche Aufgaben sehr gut erledigen kann. Also muss ich sowas auch in neovim haben. Punkt.

Mit vim-dadbod-ui existiert sowas auch als optimiertes “grafisches” Interface für vim-dadbod und es erfüllt genau diese Anforderungen: man kann unterschiedliche Verbindungen definieren, Queries abschicken und sogar Queries für später speichern. Man schreib einfach die Query in einen Buffer, speichert diesen und sofort wird diese abgefeuert und die Ergebnisse dargestellt. Wunderbar.

Konfiguration für MySQL anpassen

Seine Verbindung definiert man in vim-dadbod in Form von “URLs”:

mysql://db@localhost/mydb

Da normalerweise MySQL aber meckert, wenn man sein Passwort in der Form übergibt ("Using a password on the command line interface can be insecure") und dadurch die Ausgabe der Ergebnisse leider in Mitleidenschaft gezogen wird, behelfe ich mir damit, dass ich über das kleine Helferlein mysql_config_editor bestimmte Angaben zu der Verbindung (Benutzername, Passwort und Port) in die Datei .mylogin.cnf abspeichere. 

mysql_config_editor set --login-path=myconnection --host=localhost --port=12345 --user=db --password

Damit kann man dann in vim-dadbod mit folgender URL die Verbindung aufrufen und bekommt keine Probleme mehr

mysql://localhost/mydb?login-path=myconnection

Noch ein kleiner Tipp für die, die DDEV verwenden: ihr solltet in der Konfiguration eures Projektes per host_db_port den Port für die Datenbank “festzurren”. Normalerweise ändert der sich nämlich bei jedem Start eures Projektes.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich