2016-04-05 5 views
2

Ich bin zwar ein Neuling für Flyway, aber ich glaube nicht, dass mir etwas offensichtlich fehlt. Ich habe eine Reihe von sehr einfachen Ausführungen ausprobiert und kann flyway nicht dazu bringen, seine "Metadaten" -Tabelle zu füllen. Ich bin zu einer Remote-Percona MySQL Datenbank verbinden:Flyway 4.0 Kommandozeile erstellt leere Metadaten Tabelle

Server version: 5.6.29-76.2-log Percona Server (GPL), Release 76.2, Revision ddf26fe 

Das einfachste Beispiel ich mit oben kommen kann, dies zu demonstrieren, wird die Ausführung der folgenden Schritte aus:

flyway -password='db_pass' -url='jdbc:mysql://XX.XX.XX.XX:3306/db_schema' -user='db_owner' -locations='filesystem:/home/adam/flyway' migrate 

Mit einem SQL-Skript an /home/adam/flyway/V1.1__Cars.sql:

CREATE TABLE `cars` (
    `id` bigINT(20) NOT NULL PRIMARY KEY, 
    `license_plate` VARCHAR(10) NOT NULL, 
    `color` VARCHAR(10) NOT NULL 
); 

Es ist auch wichtig zu beachten, dass das Skript selbst ausgeführt wird, wenn flyway migrate aufgerufen wird. Die Standardmetadatentabelle von schema_versions wird ebenfalls erstellt. Es wird auch während der Baseline-Operationen erstellt.

Ich habe jede Konfigurationsoption ausprobiert, die sinnvoll erscheint und keine Auswirkung auf das Auffüllen der Metadatentabelle hat (Schemas, Benutzer, Standorte, BaselineOnMigrate, Tabelle, BaselineVersion und andere).

Oh, und ich habe auch kurz den Mariadb-Treiber ausprobiert.

Jede Hilfe wäre willkommen.

Antwort

0

Dies ist nicht ein Problem mit flyway 3.2.1

Dank

+0

Danke, Saima. Dies funktioniert und ist hilfreich, zumindest als kurzfristige Lösung. –

0

der Flyway Befehlszeilenverteilung mit dem MariaDB Treiber kommt, standardmäßig, die für MySQL und Percona (jdbc:mysql:... Urls) und MariaDB verwendet wird Verbindungen (jdbc:mariadb:... URLs).

Die neuere Version dieses Treibers scheint jedoch eine Inkompatibilität mit Percona zu haben. Sie können dies beheben, indem Sie den offiziellen MySQL Connector/J JDBC-Treiber herunterladen und einfach die JAR-Datei in das Verzeichnis /drivers Ihrer Flyway-Installation löschen.

Alles sollte dann wie erwartet funktionieren.

Verwandte Themen