Flyway, похоже, не может использовать миграции, которых нет в папке sql.

Из некоторых старых вопросов и ответов я вижу, что Flyway не очень хорошо справлялся с путями, отличными от его значения по умолчанию (папка sql в домашней папке Flyway), но это было еще в V2, а теперь это версия 3. Я нахожу это по-прежнему не работает со следующей настройкой;

  • работает на Ubuntu 14.04 с mysql 5.6 и java 7 и Flyway 3.1, загруженными вчера.
  • Flyway установлен (распакован из tgz-файла) в ~/bin/flyway-3.1
  • Есть симлинк flyway -> ~/bin/flyway
  • фиктивный проект настроен в ~/flyway-testing с подпапкой con и sql

в папке conf находится файл flyway.properties со следующей конфигурацией;

flyway.user=flyway1
flyway.schemas=flyway1
flyway.url=jdbc:mysql://localhost
flyway.driver=com.mysql.jdbc.Driver
flyway.password=flyway1
flyway.baseDir=/home/vagrant/flyway-testing/sql

У меня есть один файл миграции в папке sql с одним фрагментом DDL:

CREATE TABLE table1 (
column1 VARCHAR(10),
column2 DATE)

Я запускаю эту команду;

flyway -X -configFile=${HOME}/flyway-testing/conf/flyway.properties validate

с этим результатом:

DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/hsqldb-2.3.2.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/jtds-1.3.1.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/jna-3.3.0-platform.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/h2-1.3.170.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/postgresql-9.3-1102-jdbc4.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/derby-10.11.1.1.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/mariadb-java-client-1.1.7.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/jna-3.3.0.jar
DEBUG: Adding location to classpath: /home/vagrant/bin/flyway-3.1/drivers/sqlite-jdbc-3.7.15-M1.jar
Database: jdbc:mysql://localhost:3306/ (MySQL 5.5)
DEBUG: DDL Transactions Supported: false
DEBUG: Schema: flyway1
DEBUG: Scanning for filesystem resources at '/home/vagrant/bin/flyway-3.1/sql' (Prefix: '', Suffix: '.sql')
DEBUG: Scanning for resources in path: /home/vagrant/bin/flyway-3.1/sql (/home/vagrant/bin/flyway-3.1/sql)
DEBUG: Filtering out resource: /home/vagrant/bin/flyway-3.1/sql/put-your-sql-migrations-here.txt (filename: put-your-sql-migrations-here.txt)
DEBUG: Spring Jdbc available: false
DEBUG: Validating migrations ...
DEBUG: Scanning for filesystem resources at '/home/vagrant/bin/flyway-3.1/sql' (Prefix: 'V', Suffix: '.sql')
DEBUG: Scanning for resources in path: /home/vagrant/bin/flyway-3.1/sql (/home/vagrant/bin/flyway-3.1/sql)
DEBUG: Filtering out resource: /home/vagrant/bin/flyway-3.1/sql/put-your-sql-migrations-here.txt (filename: put-your-sql-migrations-here.txt)
Validated 0 migrations (execution time 00:00.007s)

Это показывает, что, несмотря на то, что свойство flyway.baseDir установлено в корень моего фиктивного проекта, приложение использует корень бинарной установки в качестве места для поиска миграций. Возможно, я ожидал чего-то неправильного от настройки, но я нигде не могу найти окончательный список доступных свойств для командной строки. Я слежу за этим блогом! но он довольно старый, и предлагаемая конфигурация близка к тому, что я думаю (я пытаюсь сделать это тестирование как можно минимальным, поэтому исключил некоторые вещи, для которых, как мне кажется, мне нужны значения по умолчанию).

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


person damon Jebb    schedule 27.02.2015    source источник


Ответы (1)


Используйте правильное свойство, и все должно работать.

Замените flyway.baseDir=/home/vagrant/flyway-testing/sql на flyway.locations=filesystem:/home/vagrant/flyway-testing/sql

Дополнительная информация: http://flywaydb.org/documentation/commandline/migrate.html#locations< /а>

person Axel Fontaine    schedule 27.02.2015