Мы знали, что были некоторые обратные вызовы в flyway: beforeMigrate, beforeEachMigrate, afterEachUndo ...
Наш проект должен исправить проблему в указанной версии sql, такой как V1.0.0, без изменения V1.0.0.sql.
Есть ли способ помочь нам?Должны ли мы поддерживать новое событие BEFORE_INDICATED_VERSION_MIGRATE для работы с новым файлом обратного вызова, таким как beforeMigrate_V1.0.0.sql ?
Взять для примера: мы пропустили
SET FOREIGN_KEY_CHECKS = 0;
в V1.1.0.sql, поэтому мы хотим отозвать его при миграции только до V1.1.0.sql.Поэтому мы добавляем ниже sql в beforeEachMigrate.sql:
SELECT version INTO @max_ver FROM `schema_version` ORDER BY version_rank DESC LIMIT 1;
SET FOREIGN_KEY_CHECKS = IF(@max_ver = "1.0.9", 0, @@FOREIGN_KEY_CHECKS);
SET FOREIGN_KEY_CHECKS = IF(@max_ver = "1.1.0", 1, @@FOREIGN_KEY_CHECKS);
В общем случае это работает.Но если мы добавим V1.0.9.1 однажды, это не сработает.Есть какие-нибудь идеи?