Flyway gegen Liquibase

Blog

Ich glaube, dass es nicht erforderlich ist zu beschreiben, warum die Verwendung von Datenbankmigrationstools für moderne Apps, die relationale Datenbank-Engines verwenden, von entscheidender Bedeutung ist. Ich möchte nur sagen, dass sie unser Leben viel einfacher machen und uns helfen können, einen komplexen und sich wiederholenden Prozess zu automatisieren. Im Verlauf dieses Artikels werde ich weitere Einblicke in die Gemeinsamkeiten und Unterschiede zwischen zwei der gängigsten Open-Source-Migrationstools geben, nämlich Flyway und Liquibase. Ich beginne mit kurzen Beschreibungen beider Tools.

reagieren-Dual-Listbox

Weg fliegen

Es wird von seinen Entwicklern, einem Unternehmen namens Redgate, als ein Open-Source-Datenbankmigrationstool beschrieben, das Einfachheit und Konvention der Konfiguration vorzieht. Ab sofort unterstützt es die meisten der derzeit verwendeten Datenbank-Engines wie Postgres, Oracle, SQL Server, DB2, H2, MariaDB und viele andere. Es unterstützt auch einige Cloud-basierte Datenbankdienste wie Amazon RDS oder Google Cloud SQL oder Heroku. Das Skript kann in reinem SQL (viele Dialekte werden unterstützt) oder in Java (meist für komplexere Transformationen) geschrieben werden. Es verfügt über einen Befehlszeilen-Client, bietet aber auch Maven- und Gradle-Plugins. Darüber hinaus verfügt es über eine Java-API, die auch für Android funktioniert. Für diejenigen unter Ihnen, die .NET und C# verwenden, gibt es ein Flyway-Gegenstück namens Evolve. Wenn Sie daran interessiert sind, können Sie sich dieses ansehen. Der Link zu seiner GitHub-Seite befindet sich am Ende des Artikels.

Liquidbase

Es wurde 2006 gestartet und ist ein Open-Source-Tool für Datenbankmigrationen. Es basiert auf dem Konzept von Changelogs und Changesets-Dateien, die in SQL, XML, YAML, JSON geschrieben werden können. Dort speichern wir alle Änderungen, die wir in unserer Datenbankstruktur vornehmen möchten. Diese Dateien können weiter verwendet werden, um diese Änderungen auf jede andere Datenbankinstanz anzuwenden. Liquibase unterstützt nachfolgende Datenbanken: Postgres, Oracle, DB2, H2, MariaDB, SQL Server, SQLite und viele andere. Viele Cloud-basierte Datenbanken werden ebenfalls unterstützt, zum Beispiel Azure SQL, Amazon RDS, Amazon Aurora. Sie können Liquibase-Migrationsskripts über die Shell ausführen, indem Sie Build-Tools wie Maven Gradle oder sogar Ant verwenden. Darüber hinaus können Sie reine SQL-Abfragen generieren, die von Ihrem DBA-s/Ops/DevOps-Team oder jedem, der sich um Ihre Datenbank kümmert, weiter ausgeführt werden kann.

Nachdem wir nun beide Tools beschrieben haben, können wir uns mit der Beschreibung von Ähnlichkeiten und Unterschieden zwischen ihnen befassen. Beginnen wir mit den Ähnlichkeiten zwischen diesen beiden Tools.

sudo-Befehl für Windows

Ähnlichkeiten

  • Beide sind bis zu einem gewissen Grad Open Source und bieten einen Teil der Funktionen kostenlos, haben aber auch kostenpflichtige Versionen, die mehr Funktionen bieten.
  • Beide können einfaches altes SQL verwenden, um Ihre Migrationsskripte zu schreiben.
  • Beide sind stark Java-orientiert und verfügen über eine integrierte Unterstützung für grundlegende Build-Tools wie Maven oder Gradle sowie eine Integration mit den gängigsten Java-Frameworks, zum Beispiel: Spring Boot.
  • Beide können als einfache Shell-Skripte über die Befehlszeile ausgeführt werden.
  • Die Liste der unterstützten Datenbanken ist mehr oder weniger ähnlich. Es kann einige geringfügige Unterschiede bei den unterstützten Versionen oder Treibern geben, aber im Allgemeinen gibt es in diesem Bereich keine leicht sichtbaren Unterschiede.
  • Beide basieren auf dem gleichen Ansatz für den Umgang mit Datenbankänderungen, nämlich Migrationsbasierte Datenbankbereitstellung .
  • Beide Tools versuchen, das von Martin Fowler (Link am Ende des Artikels) vorgestellte und erläuterte Konzept der **Evolutionären Datenbank ** umzusetzen.

#tools #database #integration #migration #opensource #comparison #discussion #liquibase #flyway

dzone.com

Flyway gegen Liquibase

Ich werde zwei der gängigsten Tools zur Datenbankmigration vorstellen und in einen Vergleich eintauchen, in dem Ähnlichkeiten und Unterschiede zwischen ihnen beschrieben werden.