当前位置: 首页 > 知识库问答 >
问题:

Flyway似乎无法识别java/scala迁移

子车青青
2023-03-14

我在scala项目中使用Flyway版本5.2.4,并且我的所有迁移脚本都在src/main/Resources/db/迁移下,具有以下文件夹结构

main

-resources

--db

---migrations

----V1__example1.sql

----V2__example2.sql

----V3__scala_migration.scala

位置设置为db.migrations(没有任何前缀。Flyway留档表示如果不使用前缀,则支持sql/java迁移)

V1和V2似乎没有问题。但是V3被忽略了。我尝试添加V3\uu java\u迁移。java也一样,它没有什么不同。是否有人有幸添加了非sql迁移?

这是迁移中的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个答案

拓拔谭三
2023-03-14

对于Scala,这将是src/main/Scala/db/migration

请参见此处的文档:https://flywaydb.org/documentation/migrations#discovery-1

 类似资料:
  • 我有两个这样的域类。 我也有两门这样的Dto课。 所以我制作了一个映射器类StudentMapper,它扩展了GenericMapper。 但是我在编译Mapper时出错了。 " StudentDto没有可访问的构造函数." 这些代码有什么问题? 我希望学生是不可修改的。使用lombok和mapstruct的最佳方式是什么? 您可以从这里获得源代码。https://github.com/jangd

  • 我正在尝试使用Flyway运行数据库迁移脚本。我有两个SQL脚本和一个Java脚本正在尝试运行。当我跑步的时候/gradlew flywayMigrate或gradle flywayMigrate它只接受SQL脚本,而不接受Java脚本 我的项目设置如下: database_migrations 我尝试了多种解决方案来让java脚本运行,例如指定,但这只会导致此输出。我尝试过将其移动到其他包。我尝

  • 我有一个非常简单的超文本标记语言文件,其中有一个按钮。当单击此按钮时,函数loadDoc()在javascript文件(ajax.js)中运行。带有IDajax_text的div被更改为“单击”。到目前为止还不错。 现在,我试图对一个php文档进行ajax调用。php文档应该响应“Hello World!”。我试图通过使用警报(alert(msg))来显示此消息。php文档与我的HTML文档位于同

  • 在IntelliJ Scala的调试器中,您可以打开一个窗口来评估表达式(altF8) 但是,只要表达式中有Scala符号(即'fobar),它总是失败,说:

  • 我试图从我的jar启动另一个Java进程,我使用的是ProcessBuilder: 错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。无法识别的选项:-类路径“C:\absoulte\path\library.jar;C:\absoulte\path2\library2.jar;C:\absoulte\path3\library3.jar”

  • 问题内容: 我已经从 至 此应用程序的South schemamigration无法识别更改吗? 问题答案: 该行为是正确的:与一起使用时,在数据库级别并不意味着任何事情。声明会导致创建一个中间表来保存该关系,尽管为了方便起见会在模型实例上创建一个属性,但没有表示该属性的实际列可以为空。根据定义,该关系始终为零。 但是,确实会影响验证(例如,在使用诸如admin app之类的模型形式时),迫使用户