Heim > Backend-Entwicklung > PHP-Tutorial > PHP Master | Versioning Ihrer Datenbank mit Liquibase

PHP Master | Versioning Ihrer Datenbank mit Liquibase

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-25 22:31:10
Original
823 Leute haben es durchsucht

PHP Master | Versioning Your Database with Liquibase

Kernpunkte

  • Liquibase ist ein Open -Source -Tool zum Verwalten und Versioning -Datenbankschema -Änderungen, sodass inkrementelle Datenbankänderungen in verschiedenen Änderungen organisiert und auf die Datenbank angewendet werden können. In großen Teams ist es schwierig, Veränderungen manuell zu teilen, und Liquibase ist besonders nützlich.
  • Liquibase unterscheidet sich von anderen Tools für Datenbankversions-/Migration darin, dass es in der Lage ist, Änderungen wahrzunehmen, was bedeutet, dass sie sich auf die vorgenommenen Änderungen konzentrieren, anstatt zwei Schnappschüsse des Datenbankschemas zu vergleichen, um das Migrationsskript zu generieren. Dies verhindert den Datenverlust aufgrund des Abgabebetriebs beim Umbenennen der Spalte.
  • Liquibase speichert Datenbankänderungen in XML -Dateien, die als Änderungsprotokolldatei bezeichnet werden. Änderungen können in einer einzelnen Datei oder in mehreren Dateien gespeichert und dann in der Hauptdatei zur Hauptänderung aufgenommen werden. In der Änderungsprotokolldatei werden Änderungen durch verschiedene Änderungssätze organisiert, die jeweils eine oder mehrere Änderungen enthalten, die für die Datenbank angewendet werden sollen.
  • Liquibase bietet eine Rollback -Funktionalität, mit der Entwickler Änderungen an der Datenbank rückgängig machen können. Jede im Änderungsprotokoll festgelegte Änderung kann einen Rollback -Abschnitt enthalten, in dem beschrieben wird, wie die Änderung bei Bedarf rückgängig gemacht wird.
  • Liquibase kann mit jedem Versionskontrollsystem verwendet werden und unterstützt eine Vielzahl von Datenbanksystemen. Damit ist es ein universelles Tool für die Verwaltung von Datenbankänderungen in verschiedenen Umgebungen. Es bietet auch eine strukturierte Möglichkeit, die Datenbankrekonstruktion zu verarbeiten.

Die meisten Anwendungen, die wir entwickeln, werden mit einem Versionskontrollsystem verwaltet. Aber was ist mit den Datenbanken, die diese Anwendungen verwenden? Wir nehmen öfter Änderungen an Entwicklungs-, Test- und Produktionsdatenbanken vor. Dieser Ansatz kann für Anwendungen mit nur einem oder zwei Entwicklern funktionieren, aber in großen Teams mit mehreren Entwicklern wird es schwierig, Änderungen mit allen zu teilen. In diesem Artikel werden wir Liquibase, ein Open -Source -Tool zum Verwalten und Versionungsdatenbankschema -Änderungen, erläutern. Es hilft uns, inkrementelle Datenbankänderungen in verschiedene Änderungen zu organisieren und sie auf die Datenbank anzuwenden. Liquibase ist nicht das einzige Datenbankversions-/Migrationstool. Es gibt viele Lösungen wie Doktrin 2 Migrationen, Rails AR -Migrationen, dbdeploy und mehr. Die ersten beiden Optionen sind ausgezeichnete Lösungen, aber sie sind plattformspezifisch. Dbdeploy ist relativ einfach, aber nicht so merkmalreich wie Liquibase. Liquibase löst viele ungelöste Probleme mit anderen Datenbankmigrationstools, wie z. Darüber hinaus besteht ein schwerwiegender Nachteil der meisten Werkzeuge darin, dass sich nicht verändert. Anstatt sich auf die vorgenommenen Änderungen zu konzentrieren, vergleichen sie zwei Schnappschüsse des Datenbankschemas, um das Migrationsskript zu generieren. Daher wird die Umbenennung einer Spalte beispielsweise als Drop -Add -Operation angesehen, was zu Datenverlust führen kann. Liquibase ist in der Lage, Änderungen wahrzunehmen. Lassen Sie uns sehen, wie Sie Liquibase in Ihrem Projekt verwenden.

Wie funktioniert Liquibase

Wenn Sie einen Mac mit Brauen verwenden, ist die Installation von Liquibase einfach. Führen Sie einfach brew install Liquibase aus und es ist fertig. Gleiches gilt für Ubuntu, sudo apt-get install liquibase kann erledigt werden. Liquibase Binary ist eine plattformübergreifende Java-Anwendung, was bedeutet, dass Sie Gläser herunterladen und für Windows, Mac oder Linux verwenden können. Es ist besser, es im Projektordner zu speichern, damit jeder im Projekt es ohne Installation verwenden kann. Bei Verwendung von Liquibase speichern Sie Datenbankänderungen in einer XML -Datei, die allgemein als ChangeLog -Datei bezeichnet wird. Änderungen können in einer einzelnen Datei oder in mehreren Dateien gespeichert und dann in der Hauptveränderungsdatei enthalten. Eine zweite Option wird empfohlen, da sie eine größere Flexibilität ermöglicht, wenn sich die Organisation ändert. In der Änderungsprotokolldatei organisieren Sie Änderungen nach verschiedenen Änderungssätzen. Ein Änderungssatz kann eine oder mehrere Änderungen enthalten, die für die Datenbank angewendet werden können. Jeder Änderungssatz kann mit den ID- und Autorenattributen und dem Klassenpfad der ChangeLog -Datei eindeutig identifiziert werden. Liquibase erstellt in Ihrer Datenbank eine Tabelle (DataBaShEchAngelog), um Änderungen zu verfolgen, die erfolgreich angewendet wurden. Liquibase führt jedes Änderungssatz von einzeln aus und prüft, ob sie angewendet wurden, indem sie Prüfsummen in der DatenbankaNgelog -Tabelle vergleichen. Wenn es nicht ausgeführt oder ein Runalways -Tag ist, wendet es die Änderungen an.

Anfänger

Zur Demonstration habe ich eine Datenbank namens Application auf meinem lokalen MySQL -Server zusammen mit einer Änderungsprotokolldatei erstellt. Sie können es im Projektordner oder an anderer Stelle speichern, aber die ChangeLog -Datei sollte unter Versionskontrolle stehen. Dies ist die erste Version unserer ChangeLog -Datei ohne Änderungssatz.

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
</databaseChangeLog>
Nach dem Login kopieren

Navigieren Sie zu dem Ort, an dem Sie die ChangeLog -Datei in der Befehlszeile gespeichert haben, und führen Sie den folgenden Befehl aus:

liquibase --driver=com.mysql.jdbc.Driver \
     --classpath=../lib/mysql-connector-java-5.1.21-bin.jar \
     --changeLogFile=db.changelog.xml \
     --url="jdbc:mysql://localhost/application" \
     --username=dbuser \
     --password=secret \
     update
Nach dem Login kopieren

Wenn Liquibase eine Verbindung zur Datenbank mit dem angegebenen Benutzernamen und dem angegebenen Kennwort herstellen kann, sollte es zwei Tabellen in der Anwendungsdatenbank, DatabaSHANGELLELOG und DataBaseChangeloglock erstellen und die folgende Ausgabe anzeigen:

(Der folgende Inhalt wird weggelassen, da er mit dem Originaltext wiederholt wird und die erforderlichen Umschreibungen und Anpassungen vorgenommen wurden, um wiederholte Ausgaben zu vermeiden.)

(Der Rest des Artikels erfordert auch ein ähnliches Umschreiben. Passen Sie bei der Aufrechterhaltung der Konsistenz des Inhalts die Satzstruktur und die Wörter an, um die Duplikation zu vermeiden.)

Das obige ist der detaillierte Inhalt vonPHP Master | Versioning Ihrer Datenbank mit Liquibase. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage