2012-11-29 14 views
5

Sto usando lo strumento da riga di comando per le migrazioni di DB. Se inserisco le migrazioni SQL nella directory SQL, funziona correttamente. Tuttavia, se imposto la proprietà Locations sul percorso su file system, fallisce senza alcun avvertimento o errore.Flyway La riga di comando non riesce a trovare migrazioni sul filesystem

per esempio: flyway.locations=/file-path/

come specificare il percorso del file system? Non voglio inserire le mie migrazioni nella directory SQL.

risposta

0

Questo è attualmente non ancora supportato: https://github.com/flyway/flyway/issues/108

Per risolvere il problema si può link simbolico/sql nella directory che si desidera utilizzare.

+0

Grazie per la risposta rapida. Il plug-in ant Flyway supporta più schemi con percorsi diversi per la migrazione per ciascuno di essi? So che flyway in generale, ma il plugin ant non sembra farlo. –

+0

Utilizza una sola passerella: migrare la chiamata per ciascuna. Vedi anche: http://flywaydb.org/documentation/faq.html#multiple-schemas –

+0

Ho provato a farlo ma il secondo flyway: migrate call sembra utilizzare la tabella schema_version dello schema precedentemente migrato. Come farli usare la tabella schema_version individuale? –

0

Si dovrebbe anteporre il percorso assoluto della directory 'migrazione' con la stringa "file system:", in questo modo:

String path = "/my/project/sql/migrate/"; 
migrateRelease("filesystem:" + path); 
flyway.setLocations(location); 
flyway.migrate(); 
0

Grazie ad Axel, si sta lavorando alla versione 3.2.1. L'unica cosa rimanente da prestare attenzione è il numero di versione sui file di migrazione che dovrebbe essere maggiore di quello sulla tabella schema_version. Altrimenti, si potrebbe finire con il seguente risultato dopo aver eseguito il comando migrate;

Flyway 3.2.1 by Boxfuse 

Database: jdbc:mysql://... 
Validated 1 migration (execution time 00:00.009s) 
Current version of schema `ref_db`: 1 
Schema `ref_db` is up to date. No migration necessary. 
Problemi correlati