Почему счетчик версий, а не временные метки

Почему Flyway использует номера версий, а не метки времени? Как это должно работать с более крупными и, возможно, распределенными командами?

Должен ли я рассылать всем членам команды сообщения по электронной почте о том, что теперь я зарезервировал для себя номер версии xy? Что произойдет, если два разработчика используют один и тот же номер версии? Что, если версия с более низким номером зарегистрирована в системе управления версиями (и выполнена сервером сборки в базе данных интеграции) после того, как уже зарегистрирован другой номер с более высоким номером?

Я привык к mybatis-миграциям, которые очень похожи на миграции в rails (>=2.1), где вместо номеров версий используются временные метки. Сейчас я думаю, что временные метки имеют гораздо больше смысла: мне не нужно беспокоиться о номерах версий, а неупорядоченные миграции легко обнаруживаются.


person Stephen Friedrich    schedule 14.08.2012    source источник


Ответы (1)


Здесь довольно много вопросов. Я сделаю все возможное, чтобы ответить на них.

Система управления версиями Flyway является гибкой. Неважно, называется ли ваша версия 1.0, 20120816115123 или 2012.8.16.11.51.23. Поэтому вы можете использовать метки времени, если хотите.

Зарезервировать номер версии можно просто, добавив свое имя рядом с номером на доске, листе бумаги или вики-странице.

Flyway обнаружит несколько миграций с одной и той же версией и сообщит об ошибке.

В настоящее время поддержка переноса не по порядку является запрошенной проблемой №1 и будет включен в предстоящий выпуск 1.8.

person Axel Fontaine    schedule 16.08.2012
comment
Наш сервер сборки запускает приложение после любой фиксации в тестовой базе данных. Я думаю, что это очень полезно, но таким образом легко может произойти миграция не по порядку. Я думаю, что использование номеров версий, таких как 2012.8.16.11.51.23, плюс возможность принудительной миграции не по порядку только на этапе тестирования будет хорошим решением! BTW: Чтобы быть справедливым и беспристрастным, таблица сравнения фреймворков на веб-сайте Flyway должна включать необязательные неупорядоченные миграции и обратные миграции. - person Stephen Friedrich; 16.08.2012