Kostenfreie Datenbank Verwaltungs / Entwicklungs-Tools in 2024

Mit DbGate und DBeaver sind zwei recht neue Multi-Datanbank-Clients. DbGate ist dabei das jüngere Tool, es ist komplett kostenlos und Open Source. DBeaver hingegen ist auch in einer kommerziellen PRO-Version erhältlich. Im Gegensatz zu Tools wie HeidiSQL (MySQL/MariaSQL) unterstützt, DB Browser (nur SQLite) oder Studio 3T (nur MongoDB) erlauben es beide Tools, auf unterschiedliche Datenbank-Systeme zuzugreifen. Dabei liegt der Schwerpunkt klar auf rationalen Datenbanken. DBeaver Community unterstützt unter anderem MySQL, MS SQL Server, PostgrSQL, SQLite und viele mehr. MongoDB Support sowie die Unterstützung anderer nicht rationalen Datenbanken sind hier nur in der Pro-Version verfügbar. Beide Tools eignen sich gut zum pfelgen von DB-Systemen. Daten können Exportiert, sowie teilweise
auch Importiert oder Migriert werden.

DbGate

DbGate ist eine Electron Application und für alle wichtigen Betriebssysteme verfügbar. Die Installation unter Linux erfolgt als Appimage. Es gibt unterschiedliche Designs, so kann auch auf einen Dark-Mode umgeschaltet werden. Beim Design orientiert sich DbGate grob an VS-Code. DbGate ermöglicht neben dem Ex-/Import von Daten auch die direkte Migration auf eine andere Datenbank.

Features

  • Datenbank Unterstützung
    • MS SQL Server, MySQL, MariaDN, OracleDB, PostgrerSQL, CockroachDB, Amazon Redshift, Redis, SQLite MongoDB
  • Export/Import
    • CSV, Excel, SQL, JSON, XML
  • Views
    • SQL-Editor, Data-Editor, Query-Builder, Schema-Editor, ER-Diagarams, Chart-View
  • Plugin-Support

DBeaver

DBeaver ist ebenfals für Windows, Mac OS und Linux verfügbar. Es ist in Java mit Hilfe des Eclipse-Frameworks implementiert. DBeaver erweckt den Anschein, dass neue Feaures nur noch in die kostenpflichtige Version wandern oder nur noch stark eingeschränkt in der Community Edition verfügbar sind. DBeaver ermöglicht aber den Zugriff auf eine erstaunliche Menge an Datenbanken. Generell verfügt er über mehr Funktionen als DbGate, was wohl auch dem geschuldet ist, dass er schon viel länger am Markt ist. Die UI unterstützt Theming ist aber leider unter Linux (Mint) initial im Dark-Mode nur sehr schlecht lesbar gewesen. Dies konnte aber durch die manuelle Wahl eines Themes behoben werden.

Features

  • Datenbank Unterstützung
    • MySQL, SQL Server, PostgreSQL und mehr
  • Export/Import
    • CSV, Excel, SQL, JSON, XML
  • Views -SQL-Editor, Data-Editor, Query-Builder, Schema-Editor, Basic Charts-View

Einheitliche Farben für Terminal und Visual Studio Code

Mit dem Plug-in Generate Windows Terminal Scheme kann ein Farbschema für das Windows Terminal erstellt werden. Dadurch können die Farben zwische VS-Code und dem Windows Terminal angeglichen werden. Auch können über die generierte JSON-Datei Farbwerte gesammelt, eingesehen werden, um z.B. manuell ein eigenes passendes Gnome-Terminal-Farbschema zu erstellen.

Über das Plug-in ist nur ein Export der Werte möglich; Der umgekehrte Weg wird nicht unterstützt.

Prisma und SQLite

Prisma ist ein ORM für Node.js, es unterstützt die Datenbanken PostgreSQL, MySQL, SQLite, MongoDB, Microsoft SQL Server sowie einige Cloud/Edge-Hoster. Automatische Migrationen und die übersichtliche Definition der Datenbankstruktur in einem prisma.schema sind dabei die herausragenden Features. Dabei werden auch Typen/Interfaces der Daten für TypeScript bereitgestellt. Die Unterstützung der unterschiedlichen Prisma-Features ist dabei von Datenbank zu Datenbank unterschiedlich und nicht ausreichend dokumentiert. Dadurch wird die Entwicklung mit Prisma zum Glücksspiel, wenn man erst nach Langer Recherche in Github Issues herausfindet, dass Feature X für die Datenbank Y nicht implementiert wurde. Dabei handelt es sich nicht etwa nur um exotische Funktionen, nein auch viele elementare Funktionen sind nicht verfügbar. Ein Wechsel der verwendeten Datenbanktechnologie ist damit in der Praxis quasi ausgeschlossen. Wer denkt, er kann für die lokale Entwicklung auf eine SQLite und für das Produktiv-System auf eine MySQL-Datenbank setzen, muss mit massiven Problemen rechnen.

Folgende Probleme existieren bei der Entwicklung von Anwendungen mit SQLite:

  • createMany wird nicht unterstützt, Einträge können nur einzeln erstellt werden.
  • Defektes Date Mapping. Das Sortieren nach Datum ist nicht über die ORM Funktionalität möglich, da das Datumsformat nicht korrekt implementiert ist. Dieses Problem besteht schon seit 2021 und ist nicht zu entschuldigen.
  • Kein Mapping von ENUMs. ENUMs werden nicht nativ von SQLite unterstützt.
  • Kein JSON-Support, obwohl viele Funktionen unterstützt sind.

Bei der Verwendung von SQLite würde ich aufgrund dieser Probleme dazu raten, ein anderes ORM-System zu verwenden.

pretty-quick - Automatisches prettier auf geänderte Dateien mittels Commit-hooks

Mit pretty-quick ist es ohne Konfiguration möglich, seine geänderten Dateien via git-hook vor dem pushen mit prettier zu formatieren. Damit ist es ideal für kleine Projekte, die ohne grosse eslint, prettier und husky-Konfiguration auskommen wollen. Intern nutzt pretty-quick husky und prettier. Falls .prettierrc und .prettierignore vorhanden sind, so werden diese beachtet.

pretty-quick kann über das folgende Kommando installiert werden:

npm install --save-dev prettier pretty-quick

Neofetch - System Information in hübsch

Neofetch ist ein Kommandozeilen-Tool, das auf Linux, Unix-Systemen (und neu auch Windows) verwendet werden kann, um nüzliche System-Informationen anzuzeigen. Es präsentiert eine ASCII-Grafik des Betriebssystemlogos und zeigt gleichzeitig Daten wie Hostnamen, Kernel-Version, CPU, RAM und Grafikkarte an. Neofetch ermöglicht eine schnelle und Möglichkeit, Systeminformationen in der Konsole anzuzeigen und schnell einen Überblick über das System zu erhalten.

NTop - Htop für Windows

Wenn es um die Überwachung und Analyse von Systemressourcen unter Linux geht, ist Htop eine beliebtes Tool. Diese leistungsstarke Anwendung ermöglicht es Benutzern, in Echtzeit eine detaillierte Übersicht über laufende Prozesse, CPU-Auslastung, Speicherverbrauch und vieles mehr zu erhalten. Wer unter Windows arbeiten und eine ähnliche Funktionalität will, kann NTop einsetzen. NTop ist OpenSource und kann unter github.com/gsass1/NTop herunterladen oder direkt über winget installieren:

winget install -e --id gsass1.NTop

Die wichtigsten Htop Kommandos sind auch in NTop implementiert. Leider ist das Projekt in den letzten Jahren nicht weiterentwickelt worden. Wer noch immer auf Cygwin setzt, kann auch einfach einen Alias in seiner .bashrc anlegen, sodass NTop auch über den Aufruf von htop gestartet werden kann.

Ventoy - Multi-Iso-Boot-Sticks

Ventoy ist eine Open-Source-Software, die es ermöglicht, einen bootfähigen USB-Stick mit mehreren ISO-Dateien von Betriebssystemen oder anderen bootbaren Anwendungen zu erstellen. Im Gegensatz zu herkömmlichen Methoden, bei denen der USB-Stick für jede ISO-Datei neu formatiert werden muss, ermöglicht Ventoy das Hinzufügen und Entfernen von ISO-Dateien über eine seperate Partition auf dem USB-Sticks.

Wenn der Ventoy-USB-Stick an einen Computer angeschlossen wird, erkennt das System automatisch die verfügbaren ISO-Dateien und zeigt sie im Boot-Menü an. Dies ermöglicht es dem Benutzer, das gewünschte Betriebssystem oder die gewünschte Anwendung auszuwählen und direkt von USB zu booten. Dies ist besonders nützlich für Systemadministratoren oder jeden, der regelmäßig verschiedene Betriebssysteme oder Diagnose-Tools verwendet. Ventoy unterstützt eine breite Palette von ISO-Dateien und Betriebssystemen, einschließlich Windows, Linux und MacOS. Es ist eine praktische Lösung, um einen einzigen USB-Stick für verschiedene Images zu verwenden, ohne ständig den Sticks zu formatieren zu müssen.

Micro, der größere Nano

Linux-Nutzer, die auf der Konsole Konfigurationen oder Skripte anpassen, ohne der VI/VIM/EMACS-Fraktion anzugehören, benutzen oft Nano als Editor. Die Möglichkeit, den Editor ohne vorheriges Studium des Handbuchs bedienen zu können und ohne Mühe wieder zu schließen, macht Nano zu einem ansprechenden Tool. Allerdings besitzt Nano im Gegensatz zu den etablierten Editoren weniger Funktionalität. Darüber hinaus besteht Verbesserungsbedarf in Bezug auf die Maussteuerung, die bedauerlicherweise das Einfügen aus der Zwischenablage deaktiviert.

Als ein "größerer" Editor bietet Micro mehr Funktionalität und eignet sich somit auch für umfangreichere Schreib- und Codeaufgaben. Er zeichnet sich durch seine Einsteigerfreundlichkeit aus und ist dennoch wesentlich mächtiger. Für jene, die Nano schätzen, jedoch nach einer mehr Funktionalität brauchen, erweist sich Micro als vielversprechende Alternative.

Die Anwendung verfügt über eine umfangreiche Funktionalität, darunter eine breite Palette an Syntaxhervorhebungen für über 75 Programmiersprachen, die Möglichkeit zur Verwendung von Mehrfachcursoren für simultane Bearbeitungen und ein flexibles Plugin-System zur Erweiterung der Funktionspalette. Micro legt besonderen Wert auf Anpassbarkeit und ermöglicht Nutzern die Konfiguration ihrer Einstellungen über eine leicht verständliche JSON-Syntax. Für fortgeschrittene Benutzer bietet der Editor zusätzlich die Option, den Editor über Lua-Skripten zu erweitern. Des Weiteren stellt Micro eine große Auswahl an Themes zur Verfügung, um die visuelle Darstellung von Texten zu optimieren. Die Integration von Mausunterstützung erlaubt es Nutzern, Textabschnitte auszuwählen, Mausklicks für Navigation zu verwenden und ist gelungener als in Nano. Ein bemerkenswertes Merkmal von Micro ist die Fähigkeit, intern einen Terminal-Emulator auszuführen. Dies ermöglicht die parallele Anzeige von Code und einer interaktiven Shell in einer geteilten Ansicht.

Zusammenfassend zeichnet sich Micro als fortschrittlicher Texteditor durch seine Benutzerfreundlichkeit, umfangreiche Anpassungsmöglichkeiten aus, das macht in zu einer guten Wahl für die professionelle Textbearbeitung. Micro kann auf Linux, Windows und MacOS eingesetzt werden.