Je viens de commencer maintenant un nouveau projet dans Intellij à l'aide de Spring Boot Ver 2.1.3 et de Flagway 5.2.4 avec Java 11.
Après avoir essayé de commencer mon projet, j'ai eu:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is Java.lang.IllegalStateException: Cannot find migrations location in: [classpath:db/migration] (please add migrations or check your Flyway configuration)
J'ai les dossiers suivants:
Comme vous pouvez le constater, j'ai "DB/migration" mais sans aucune migration, je viens de commencer maintenant. Déboguer la classe Flywayautoconfiguration J'ai eu les suivantes:
Ainsi, j'ai essayé de retourner tous les fichiers dans "ClassPath:", voir:
Notez que j'ai juste un fichier "Application.Properties".
J'ai eu une erreur similaire et l'a résolu comme suit: J'ai ajouté ces commandes
spring.flyway.baselineOnMigrate=true
spring.flyway.check-location=true
spring.flyway.locations=classpath:db/migration
spring.flyway.schemas=public
spring.flyway.enabled=true
à l'application.properties
Ce n'est pas une réponse très utile ou précise.
Mais ce problème vous rend frustré pour que je donne cette solution.
Remarque : Etrange mais c'est vrai, il n'est pas autorisé, car votre dossier a créé db.migration et il expulse db-> la migration (ce n'est pas la même dans ce scénario). Donc, chaque fois que vous commencez à partir de zéro. Allez dans le dossier de ressources -> Créer un dossier DB -> Créer un dossier de migration -> Créez un fichier de base de données avec version_subversion__name (tel que défini ci-dessous).
Normalement, cela se produit dans les cas suivants,
Dans mon cas, je place déjà le fichier SQL là-bas, mais cela donne toujours la même erreur, je place ce fichier SQL à l'aide de la pâte de copie de quelque part.
Lorsque j'essaie d'ajouter un nouveau fichier sur le même endroit en utilisant IDE (Intellij: clic droit sur le dossier de migration -> Nouveau -> Migration de voie de migration -> Migration vers la version versée), alors il me demande (Avertissement) À propos d'une allocation délicate (normalement, nous mentionnons dans la configuration de la base de données que je placez aussi là encore), et cela commence à fonctionner.
Même lorsque vous avez vos fichiers de migration dans le dossier DB/Migration, Flagway ne le détectera pas.
Ensuite, vous devrez résoudre ce problème en définissant explicitement les emplacements de votre application.properties (ou Applocation.yml) en ajoutant:
spring.flyway.locations=classpath:db/migration