2016-02-23 3 views
2

У меня есть проект, чья база данных управляется Flyway в строгом режиме проверки. Мои миграционные файлы выглядеть следующим образом:Могу ли я переименовать сценарии миграции Flyway?

  • V1.0__init.sql
  • V11.0__even_better.sql
  • V2.0__update.sql
  • V7.0__enhance.sql

В файлы не отображаются в правильном порядке (от 11 до 1). Поэтому я хотел бы изменить их выглядеть следующим образом:

  • V001.000__init.sql
  • V002.000__update.sql
  • V007.000__enhance.sql
  • V011.000__even_better.sql

documentation says:

Ведущие нули игнорируются в каждой части

Это может означать, что вышеупомянутые переименования в порядке. Но, смотря на таблицу schema_version, ведущие нули сохраняются, что кажется, что вышеупомянутые переименования сломают миграцию. Так можно ли переименовать, или это все взорвет?

+0

Вы вкладываете что-нибудь в производство или у вас есть только «локальные» миграции до сих пор? – Magnilex

+0

Возможно, немного не по теме, но обратите внимание, что команда GNU 'ls' поддерживает сортировку по номеру версии, что хорошо согласуется с соглашением о названиях файлов Flyway. Просто попробуйте 'ls -lv', чтобы ваши файлы миграции отсортированы по версии. – aaguilera

ответ

2

После того, как вы попробовали его локально, он просто сработал.

Причина, по которой я не ожидал, что номера версий в таблице schema_version включают в себя начальные нули, а столбец script также упоминает исходный сценарий под полным именем.

Но, несмотря на это, проверка прошла успешно после переименования файлов.