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.
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.
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.
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.
mvn flyway:migrate
mvn flyway:clean
mvn flyway:info
mvn flyway:validate
mvn flyway:init
mvn flyway:repair
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