Ruby on Rails a une fonction de migration de base de données par défaut, mais Spring Boot n'a pas d'autre choix que de l'installer vous-même. J'ai eu du mal à présenter Flyway, un outil de migration, alors je vais essayer de tout mettre en place.
pom.xml
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
Je vais l'écrire comme ça dans la hiérarchie des dépendances. Puisque je souhaite utiliser la commande mvn ensemble, je spécifie également ce qui suit dans le plug-in.
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>6.0.8</version>
<configuration>
<url>Veuillez spécifier l'URL de la base de données?currentSchema=Si le schéma est spécifié du côté de la base de données, spécifiez-le.</url>
<user>Veuillez spécifier l'UTILISATEUR DB.</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>
Après cela, mettez à jour le projet avec Maven et importez le fichier jar.
Le nom du fichier est strictement déterminé, veuillez donc vous y référer. ・ Mémo d'utilisation de la voie aérienne
Dans mon cas, ça ressemble à ça. La hiérarchie est
-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
Pour le contenu du fichier, créez un objet séquence, créez une table et écrivez le contenu.
Dans votre terminal, accédez à la hiérarchie où se trouve le fichier cible et exécutez la commande suivante pour l'exécuter.
mvn flyway:migrate
mvn flyway:clean
mvn flyway:info
mvn flyway:validate
mvn flyway:init
mvn flyway:repair
Pendant le développement en local, après avoir confirmé CRUD avec un formulaire, etc., mvn flyway: clean '' et
mvn flyway: migrate`` ne peuvent être utilisés qu'à des fins de réinitialisation.
Je voudrais demander s'il existe un moyen plus efficace de l'utiliser. ..
Recommended Posts