Flyway, похоже, не распознает миграцию java / scala - PullRequest
2 голосов
/ 19 февраля 2020

Я использую Flyway версии 5.2.4 в проекте scala и все мои сценарии миграции находятся в каталоге src / main / resources / db / migrations со следующей структурой папок

main

-resources

--db

---migrations

----V1__example1.sql

----V2__example2.sql

----V3__scala_migration.scala

расположение установите db.migrations (без префикса. В документации Flyway сказано, что если префикс не используется, то миграция sql / java поддерживается)

V1 и V2, похоже, поднимаются без проблем. Но V3 игнорируется. Я попытался добавить V3__java_migration. java, и это не имело никакого значения. Кому-нибудь повезло, добавив не-1013 * миграции?

Вот код scala в миграции

package db.migration

import org.flywaydb.core.api.migration.{ BaseJavaMigration, Context }

class V3__scala_migration extends BaseJavaMigration {

  override def migrate(context: Context): Unit = {

    val conn = context.getConnection

    conn.createStatement().executeUpdate(
      """
        |DROP TABLE IF EXISTS `users`;

        |CREATE TABLE IF NOT EXISTS `users`

        |`name` varchar(100) NOT NULL,

        |`email` varchar(100) NOT NULL,

        |PRIMARY KEY (`email`)

        |)ENGINE=InnoDB  DEFAULT CHARSET=utf8;

        |INSERT INTO `users` (`name`, `email`) ('john','john@example.com');

      """.stripMargin)
  }

}

1 Ответ

1 голос
/ 19 февраля 2020

Вы должны переместить свои скрипты миграции Scala или Java в соответствующие каталоги. directory strucure

Для Scala это будет src/main/scala/db/migration

См. Здесь документацию: https://flywaydb.org/documentation/migrations#discovery -1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...