В настоящее время проект содержит 4 файла миграции sql, но последний файл миграции ddl/V201406161418__Add_tracking_codes.sql
не выбран.
Миграция выполняется этим методом (обработка ошибок удалена):
@PostConstruct
private void onStartup() {
Flyway flyway = new Flyway();
flyway.setInitOnMigrate(true);
flyway.setLocations(getLocations()); // abstract String[] getLocations()
flyway.setOutOfOrder(true);
flyway.setTable(getTable()); // abstract String getTable()
for(DataSource ds : getDataSources()) { // abstract List<DataSource> getDataSources()
flyway.setDataSource(ds);
flyway.repair();
for (MigrationInfo i : flyway.info().all()) {
log.info("migrate task: " + i.getVersion() + " : "
+ i.getDescription() + " from file: " + i.getScript());
}
flyway.migrate();
}
}
Вот что я вижу в логах:
задача миграции: 201405131722: исходная схема из файла: ddl/V201405131722__Initial_schema.sql
задача миграции: 201405131734: исходные данные о продукте из файла: cfg/V201405131734__Initial_product_data.sql
задача переноса: 201406091356 : увеличение платы из файла: cfg/V201406091356__Fee_increase.sql
2014-06-16 16:01:58 ПРЕДУПРЕЖДЕНИЕ DbMigrate:47 - активен режим outOfOrder. Миграция схемы
ncsp
может быть невоспроизводимой.16.06.2014, 16:01:58 ИНФОРМАЦИЯ DbMigrate:43 — схема
ncsp
обновлена. Нет необходимости в миграции.
Как видите, файл миграции находится в том же каталоге. Я вижу, что файл развернут на сервере Glassfish.
Есть ли другая причина, по которой его игнорируют, которую я не вижу?