Datenbanken vergleichen mit GitHub Desktop

Im Beitrag „Access-Quellcodeverwaltung mit GitHub Desktop“ (www.access-im-unternehmen.de/15) haben wir gezeigt, wie man mit dem Tool „Version Control Add-In“ und mit „GitHub Desktop“ den Inhalt einer Access-Anwendung in Form verschiedener Textdateien in ein externes Verzeichnis extrahieren und davon verschiedene Versionen verwalten und wiederherstellen können. Im vorliegenden Beitrag wollen wir uns nun einen speziellen Einsatzzweck der Kombination dieser beiden Tools ansehen. Angenommen, wir legen regelmäßig Backups unserer Anwendung an. Bei einer neuen Version treten plötzlich Fehler auf, die auf die Änderungen seit dem letzten Backup zurückzuführen sind. Um einzugrenzen, welche Änderungen das Problem auslösen, können wir nun die Elemente der älteren Version exportieren, in ein Repository aufnehmen und als Zwischenstand speichern und dann die aktuelle Version ebenfalls in das Repository schreiben. Dort können wir nun genau anzeigen lassen, welche Unterschiede zwischen den beiden Versionen existieren und dort nach der Ursache für das Problem suchen.

Anwendungsbeispiel: Unterschiede zwischen zwei Versionen einer Datenbank ermitteln

Im Beitrag Access-Quellcodeverwaltung mit GitHub Desktop (www.access-im-unternehmen.de/15) haben wir die beiden Tools Version Control Add-In und GitHub Desktop vorgestellt. Damit können wir aus einer Access-Datenbank alle enthaltenen Elemente exportieren und wiederherstellen (Version Control Add-In) oder auch die jeweils exportierten Dateien mit einem Versionsverwaltungssystem verwalten (GitHub Desktop).

Um das Beispiel dieses Beitrags nachvollziehen zu können, müssen die beiden oben erwähnten Tools wie in dem genannten Beitrag installiert werden.

Auch wenn man dieses Tool nicht zum Versionieren nutzen möchte, gibt es doch zumindest einen sehr interessanten Anwendungszweck: Wir können damit die Versionsstände zweier Versionen der gleichen Datenbank vergleichen.

Stellen wir uns also vor, wir würden regelmäßig Sicherungskopien unserer Anwendung anfertigen. Das ist Voraussetzung dafür, dass der folgende Plan überhaupt funktioniert. Nachdem wir seit dem letzten gespeicherten Backup einige Änderungen in der Datenbankanwendung durchgeführt haben, funktioniert plötzlich etwas nicht mehr wie gewünscht. Dummerweise haben wir viele Änderungen an verschiedenen Stellen durchgeführt, sodass wir nicht mehr genau wissen, was wir genau geändert haben.

Hier kommen die in diesem Beitrag vorgestellten Techniken ins Spiel. Wir exportieren mit Version Control System alle Elemente der früheren Version, erfassen diese mit der Versionsverwaltung GitHub, exportieren dann alle Elemente der aktuellen Version und lassen uns von GitHub die Unterschiede der beiden Anwendungen anzeigen.

Danach ist es unsere Aufgabe, herauszufinden, welche Änderung seit dem letzten Update die Probleme verursacht. Das ist gegebenenfalls immer noch Arbeit, aber zumindest wissen wir, an welchen Stellen wir suchen müssen.

Zu Beispielzwecken kopieren wir unsere Beispieldatenbank dazu einmal, sodass wir anschließend eine Datenbank namens BeispielGitHub.accdb und eine namens BeispielGitHub – Kopie.accdb vorfinden. Die Kopie öffnen wir und ändern einige Elemente:

  • Hinzufügen eines Feldes namens EinDrittesFeld zur Tabelle tblBeispiel
  • Wir fügen eine weitere Tabelle hinzu, indem wir die Tabelle tblBeispiel kopieren und den Namen in tblBeispiel2 ändern.
  • Wir ändern die Datensatzquelle des Formulars frmBeispiel in tblBeispiel2 und fügen noch das neue Feld EinDrittesFeld zum Detailbereich hinzu.
  • Außerdem fügen wir diesem Formular ein Bild namens add.png hinzu, um zu prüfen, ob auch Änderungen an der Tabelle MSysResources berücksichtigt werden.
  • Wir kopieren im Modul mdlBeispiel die Prozedur Beispiel und fügen diese unter dem Namen Beispiel2 erneut ein.
  • Wir fügen einen Verweis auf die Bibliothek Microsoft Office 16.0 Object Library hinzu.
  • Wir stellen in den Optionen unter Aktuelle Datenbank die Option Formular anzeigen auf frmBeispiel ein.

Das soll zum Testen reichen. Nun führen wir die folgenden Schritte durch:

  • Wir erstellen einen neuen Ordner namens VergleichAltNeu.
  • Wir kopieren die beiden Datenbankdateien BeispielGitHub.accdb und BeispielGitHub – Kopie.accdb in den neuen Ordner.
  • Wir öffnen GitHub Desktop.
  • Hier legen wir mit dem Menübefehl File|New Repository… ein neues Repository speziell für diesen Zweck an (siehe Bild 1).
  • Anlegen eines neuen Repositories

    Bild 1: Anlegen eines neuen Repositories

  • Im Dialog Create a new repository geben wir einen Namen wie AltNeuRepository ein und stellen Local path auf das soeben erstellte Verzeichnis VergleichAltNeu ein (siehe Bild 2).
  • Auswahl des Verzeichnisses

    Bild 2: Auswahl des Verzeichnisses

  • Das Verzeichnis mit den beiden Versionen der Datenbank enthält nun zusätzlich einen weiteren Ordner, den GitHub Desktop erstellt hat (siehe Bild 3).
  • Aussehen des neuen Verzeichnisses

    Bild 3: Aussehen des neuen Verzeichnisses

  • Wechseln wir in diesen Ordner, sehen wir dort einen versteckten Unterordner namens .git und eine Datei namens .gitattributes (siehe Bild 4).
  • Dateien von GitHub Desktop

    Bild 4: Dateien von GitHub Desktop

Nun folgen Schritte, die wir später im Detail beschreiben:

  • Exportieren der Elemente der alten Version der Datenbank in den Ordner VergleichAltNeu.
  • Wechsel zu GitHub Desktop, wo wir die nun hinzugefügten Elemente als Unterschiede sehen und diese als neuen Commit anlegen.
  • Exportieren der Elemente der neuen Version der Datenbank in den Ordner VergleichAltNeu.
  • Wechsel zu GitHub Desktop, wo nun die Unterschiede angezeigt werden.

Hier können wir nun die Unterschiede zwischen den Versionen im Detail ansehen.

Exportieren der Elemente der alten Version

Diese Schritte sehen im Detail wie folgt aus. Als Erstes öffnen wir die erste Datenbank BeispielGitHub.accdb. Hier stellen wir das Zielverzeichnis für den Export der Elemente ein. Dazu klicken wir im Ribbon auf den Befehl View Options (siehe Bild 5).

Öffnen der Optionen

Bild 5: Öffnen der Optionen

Im nun erscheinenden Dialog Options wechseln wir zur Registerseite Export und stellen dort unter Export Folder den Pfad zum Ordner …\VergleichAltNeu\AltNeuRepository ein (siehe Bild 6).

Einstellen des Zielordners

Bild 6: Einstellen des Zielordners

Schließlich betätigen wir im Ribbon unter Version Control den Befehl Export Source Files (siehe Bild 7).

Exportieren der Elemente

Bild 7: Exportieren der Elemente

Dadurch werden die Elemente der Datenbank exportiert. Außerdem erhalten wir die Meldung, dass Dateien für die Zusammenarbeit mit GitHub erzeugt wurden (siehe Bild 8).

Meldung über das Anlegen von Git-Dateien

Bild 8: Meldung über das Anlegen von Git-Dateien

Über das Ergebnis des Exports informiert uns schließlich der Dialog aus Bild 9, der jedoch nach kurzer Zeit automatisch ausgeblendet wird.

Ergebnis des Exports

Bild 9: Ergebnis des Exports

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar