Этот вариант использования на самом деле не поддерживается. Flyway выдаст ошибку, если найдет маркер-заполнитель без соответствующего значения. Однако я могу придумать обходной путь.
Вы можете «заполнить» ваши заполнители пустыми строками. Это остановит Flyway, выдающий ошибку для неустановленных значений.
Внутри ваших сценариев миграции вы можете ввести защитные условия, которые выполняются только при наличии значений.
Например, в Java:
// Seed with empty strings
flyway.getPlaceholders().put("name", "");
flyway.getPlaceholders().put("id", "");
...
// Overwrite some of the placeholders
flyway.getPlaceholders().put("name", "mr empty");
Затем в вашем скрипте (псевдокод):
IF '${name}' NOT EQUAL TO '' THEN
insert into customer(id,name) values(1, ${name});
Если вы хотите встроенную поддержку, вы должны создать проблему на странице GitHub Flyway .