Mittwoch, 1. Juli 2015

Zugriff über eigenen Datenbank-Client auf die H2 Datenbank bei der Entwicklung mit Grails

Problem

Mit einem eigenen Datenbank-Client können keine Datenbankabfragen gegen die voreingestellte Entwicklungsdatenbank von Grails abgesetzt werden.

Hintergrund

Der voreingestellte In-Memory Mode der H2 Datenbank macht den Zugriff auf die Daten der Applikation von einem anderen JVM Prozesses aus unmöglich.

Lösung

Der Automatic Mixed-Mode ermöglicht es die Datenbank gleichzeitig lokal und im Server Modus zu betreiben. Die H2 Datenbank verwaltet die Verbindungen dann so, dass dem ersten Prozess Zugriff im Embedded Mode ermöglicht wird und alle weiteren Prozesse bekommen Zugriff im Server Mode.


Die Dateien der Datenbank liegen bei der obigen Konfiguration in dem Verzeichnis data innerhalb des Projektverzeichnisses.

Der Datenbank-Client verwendet die gleiche Datenbankverbindungskonfiguration wie die Grails Applikation. Zu beachten ist lediglich, dass der Pfad zu den Datenbankdateien in dem Client eventuell angepasst werden muss.