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

flyway-在远程位置运行基于SQL和Java的脚本

蔺德曜
2023-03-14

尝试运行基于Java的(编译的)迁移文件,这些文件不在配置Flyway的项目中。谁能告诉我这样做是可能的吗?

我创建了一个使用飞行方式进行迁移的罐子。Jar 需要一个参数,即迁移脚本的位置。迁移脚本位于不同的位置/项目中。到目前为止,所有脚本都是基于 SQL 的。(即三十.sql)。需要添加一个基于java的迁移脚本,做一些复杂的逻辑。

试图添加pom。xml到脚本位置,以及db/migration文件夹中的示例java迁移脚本。基于Java的迁移文件被Flyway忽略。是否由于校验和验证失败?

基于Java的迁移将被编译并<code>。class文件位于classpath中。我的文件夹结构如下。

C:/
└── database-migration-scripts
    └── src/main/java/
        └── db
            └── migration
                └── V1__m1.sql
                └── V2__m2.sql
                └── V3__SampleJava_script.java
    └── target/classes/
        └── db
            └── migration
                └── V3__SampleJava_script.class
    └── pom.xml

W:/
└── someLocationOutsideProject
    └── flyway-database-migration.jar

注意:飞行道运行器(jar)和脚本将位于同一或不同机器的不同位置。在上面的示例中,迁移脚本采用 C:/ 格式,jar 脚本采用 W:/

暂时还没有答案

 类似资料:
  • 我的文件夹里有这样的脚本: 我想将所有脚本保留在同一个文件夹中,但在迁移中忽略其中一些脚本。确切地说,我只想包括这个脚本 的路径是。 我读了这个问题,但是发现我不能为迁移指定单个sql脚本(在接受的答案中,它使用指向java包的类路径)。 这是可能的吗?我得到了以下错误: 当我更改

  • 有没有办法用Spring boot运行基于Flyway Java的回调?我正在转换一个现有项目,在每次迁移后更新一些视图定义,这是由Java完成的,因为它需要一些额外的逻辑。我知道它可以在pl/pgsql中完成(我们正在使用Postgres),但它已经在Java中完成并测试过了。 Spring Boot文档说这是可能的,但是它列出了回调脚本应该与迁移位于同一个目录中,也许这只适用于基于SQL的回调

  • 我试图使用liquibase向角色添加成员,但SQL与SQL Server2008到2012不同。 SQL Server 2008: 我需要脚本能够找出它正在使用的SQL Server的哪个版本,并且只运行特定的liquibase脚本,无论是changeset还是ChangeLog。

  • 我已经用intelliJ编写了一个spark scala(sbt)应用程序,我想在Azure databricks上托管的远程集群上运行它。为了避免手动将JAR上传到dbfs中,需要遵循哪些步骤来测试代码

  • 我正在使用PyCharm在SSH服务器上进行python的远程部署和执行。但是,我也希望能够以同样的方式直接运行其他文件。例如,我想通过sbatc“运行”一个“job.run”脚本,将其提交给HPC服务器。 我可以看到PyCharm为python运行以下类型的命令 我想有另一个名为“job.run”的文件,运行如下 这感觉应该很简单,但是我找不到任何允许我这么做的选项。

  • 问题内容: 我正在调试一些必须在我的虚拟机上运行的python脚本。而且,我更喜欢在本地(虚拟机外部)编辑脚本。因此,我发现每次都将脚本修改为虚拟机 很繁琐。谁能提出一些有效的方法? 特别是,我想知道是否可以在远程PVM上执行python脚本。像这样: 问题答案: 可以使用ssh。Python接受连字符(-)作为执行标准输入的参数, 运行 python –help 以获得更多信息。