[JAVA] Einführung in Flyway mit SpringBoot + Maven + PostgreSQL

Ruby on Rails verfügt standardmäßig über eine DB-Migrationsfunktion, Spring Boot hat jedoch keine andere Wahl, als sie selbst zu installieren. Es fiel mir schwer, Flyway, ein Migrationstool, einzuführen, daher werde ich versuchen, alles zusammenzustellen.

Vorbereitung

pom.xml


<dependency>
	<groupId>org.flywaydb</groupId>
	<artifactId>flyway-core</artifactId>
</dependency>

Ich werde es so in die Abhängigkeitshierarchie schreiben. Da ich den Befehl mvn zusammen verwenden möchte, gebe ich im Plug-In auch Folgendes an.

pom.xml


<build>
         <plugins>
           <plugin>
               <groupId>org.flywaydb</groupId>
               <artifactId>flyway-maven-plugin</artifactId>
               <version>6.0.8</version>
               <configuration>
                   <url>Bitte geben Sie die DB-URL an?currentSchema=Wenn das Schema auf der DB-Seite angegeben ist, geben Sie es an.</url>
                 <user>Bitte geben Sie den DB USER an.</user>
                 <password></password>
                 <schemas>
                     <schema>ssp_engine</schema>
                 </schemas>
                 <baselineOnMigrate>true</baselineOnMigrate>
                 <baselineVersion>1.0</baselineVersion>
                     <baselineDescription>Initial</baselineDescription>
                 <locations>classpath:/db/migration</locations>
             </configuration>
           </plugin>
         </plugins>
</build>

Aktualisieren Sie anschließend das Projekt mit Maven und importieren Sie die JAR-Datei.

Erstellung der DB-Anweisungsdatei

Der Dateiname ist streng festgelegt. Bitte beachten Sie dies. ・ Flyway-Nutzungsnotiz

In meinem Fall sieht es so aus. Die Hierarchie ist

-src/
  -main/
    |-java/
    |  -com/
    |    -example/
    |      -main.java
    -resources/
      -db/
        -migration/
          -V1_0__create_sequence.sql
          -V1_1__create_table.sql
          -V1_2__create_data.sql

Erstellen Sie für den Inhalt der Datei ein Sequenzobjekt, erstellen Sie eine Tabelle und schreiben Sie den Inhalt.

Befehlsausführung

Wechseln Sie in Ihrem Terminal zu der Hierarchie, in der sich die Zieldatei befindet, und führen Sie den folgenden Befehl aus, um sie auszuführen.

Führen Sie die Migration durch

mvn flyway:migrate

Löschen Sie alle Objekte in der Datenbank

mvn flyway:clean

Zeigen Sie Informationen darüber an, zu welcher Version die Migration ausgeführt wird

mvn flyway:info

Überprüfen Sie, ob zwischen der Version der Datenbank und der vorbereiteten SQL-Datei ein Unterschied besteht

mvn flyway:validate

Datenbankversion 1 erstellen

mvn flyway:init

Löschen Sie die Version der Metadaten, die sich im Status "Fehlgeschlagen" befindet

mvn flyway:repair

Impressionen eingeführt

Während der Entwicklung vor Ort können nach Bestätigung von CRUD mit einem Formular usw. "mvn flyway: clean" und "mvn flyway: migrate" nur zum Zurücksetzen verwendet werden. Ich möchte fragen, ob es einen effektiveren Weg gibt, es zu benutzen. ..

Recommended Posts

Einführung in Flyway mit SpringBoot + Maven + PostgreSQL
Verteilte Transaktion mit SpringBoot + PostgreSql + mybatis + NarayanaJTA
Unterstützt Multi-Port mit SpringBoot
Ändern Sie den Port mit SpringBoot
Versuchen Sie gRPC mit Java, Maven
Ich habe UPSERT mit PostgreSQL ausprobiert.
Einfache Bibliothekseinführung mit Maven!
Hallo Welt mit SpringBoot / Gradle