2014-04-12 24 views
5

Anche se ho sollevato il problema https://github.com/spring-projects/spring-boot/issues/662 per fornire un modulo di avviamento-avvio-liquecase-starter-avvio, oggi ho scoperto che esiste già un qualche tipo di integrazione.Integrazione liquibase con avvio a molla

Spring Boot contiene già https://github.com/spring-projects/spring-boot/tree/master/spring-boot/src/main/java/org/springframework/boot/liquibase con un localizzatore di servizio specifico di avvio Boot Liquibase. Da questo codice e dalla guida di riferimento di Spring Boot non riesco a capire cosa stia già offrendo Spring Boot.

Tuttavia ho anche scoperto che quando si aggiunge la dipendenza Gradle "org.liquibase: liquibase-core" (nota senza numero di versione) risolve automaticamente liquibase 3.1.1 quindi il risolutore di dipendenze specifico Spring Boot sta facendo un po 'di magia qui .

Qualcuno sa quale tipo di integrazione Spring Boot offre in termini di Liquibase? Vorrei eseguire automaticamente le migrazioni (se necessario) durante l'avvio dell'applicazione.

risposta

6

Spring Boot conosce Liquibase e lo rileva sul classpath (da cui la risoluzione della dipendenza magica). Liquibase ha un SPI per creare i suoi servizi che implementiamo in modo speciale in modo che lavorino con il formato JAR eseguibile supportato da Spring Boot. Quindi, in breve, se è presente e lo aggiungi al tuo contesto funzionerà (come menzionato brevemente in the docs). Ma non c'è "autoconfigurazione" pronta all'uso (possiamo usare il tuo problema github per gestirlo se vuoi una nuova funzione).

+0

Grazie per la spiegazione Dave. Attualmente Spring Boot non è niente di speciale da eseguire automaticamente per eseguire le migrazioni. Discutiamo la richiesta di funzionalità ulteriormente nel problema di guthub menzionato. –

+0

Ho letto che stai discutendo (e i documenti) ma ho un problema, ho impostato liquibase-core come dipendenza nel percorso della classe, ho assegnato un percorso a un file nelle proprietà della risorsa a liquibase.cambiare -log variabile, ma quando eseguo la mia applicazione springboot non cambia nulla all'interno del database, come potrebbe essere possibile? – mautrok

Problemi correlati