当impl jar的mvn clean install
时,我收到了这个错误
org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocigure/flyway/flywayautociguration$flywayconfiguration.class]中定义的名为“flyway初始化器”的bean时出错:调用init方法失败;嵌套异常为org.flywaydb.core.internal.command.dbmigrate$flywaymigrateexception:Migration v3__create.SQL失败---------------------SQL状态:42S02错误代码:42102消息:找不到表“base_table”;SQL语句:
我已经在基本jar包中添加了迁移脚本,但是基本jar的flyway脚本仍然没有执行。
如何先执行基本包flyway脚本,然后在mvn构建impl boot jar时执行impl boot jar的下一个脚本?
更新1:
base jar被以下插件打包为另一个spring boot应用程序的一部分,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>package</phase>
<configuration>
<classifier>com</classifier>
<includes>
<include>**/entities/*</include>
<include>**/services/*</include>
<include>${basedir}/src/main/resources/db/migration/*</include>
</includes>
</configuration>
</execution>
</executions> </plugin>
impl jar的pom.xml具有
<dependency> <groupId>com.group</groupId>
<artifactId>base</artifactId> <version>0.0.1-SNAPSHOT</version>
<classifier>com</classifier> </dependency>
在这两个POM中,没有提到任何与flyway迁移配置相关的内容。默认情况下,它使用默认flyway配置。
我假设“基础”项目jar工件本身不是Spring Boot应用程序,我的意思是它不是用spring-boot-maven-plugin创建的,因为如果不是这样,它就不能作为依赖项包含在impl-boot
模块中(因为Spring Boot应用程序实际上不是一个jar,所以它不能工作)
基于这个假设,flyway会扫描您的jars和“classes”文件夹,并纯粹在运行时中查找迁移。这意味着从base和impl的迁移应该有任何区别--只要它们在类路径中预定义位置的长度就可以。如果没有找到Base的迁移,那么以下是可能的(在我的脑海中,我可能遗漏了一些东西,但希望它能为调查提供一些方向):
boot-inf/lib
文件夹中找到,因此确保它确实出现在那里。application.properties
/application.yml
中包含各种flyway定义,请参阅此处,特别是属性Spring.flyway.locations
.我正在尝试使用flyway,但是我有一个不知道如何解决的情况: 当我应用STANDARD脚本时,我必须运行V1.0__create_table_TAB1.sql当我将脚本应用到customer1时,TAB1表是一个视图,因此我必须运行V1.0__creaate_view_TAB1_to_schema1.sql。 实际: 应始终应用sql_common文件夹的脚本,但不应应用 V1.0(创建表 TA
问题内容: 我对ES非常陌生。我一直在尝试搜索数据库迁移工具,但找不到。我想知道是否有人可以帮助我指出正确的方向。 我将使用Elasticsearch作为项目中的主要数据存储。我想对我在项目中开发新模块时运行的所有映射和配置更改/数据导入/数据升级脚本进行版本控制。 过去,我使用过数据库版本控制工具,例如Flyway或Liquibase。 我可以在ES中使用任何框架/脚本或方法来实现类似目的吗?
是否有可能从maven flyway插件的罐子迁移?我对sqls和java(编译到类)没有问题,但对jars没有成功。类路径设置正确。
我目前正在评估Flyway和Liquibase在我们现有的大型项目中的使用情况。这两种方法似乎都适合sql迁移,但不幸的是,我们还需要偶尔进行文件系统迁移(比如应用xsl转换)。 我看不出为什么Flyway在技术上不能以java迁移的名义做到这一点,但我想知道,尝试这样做是否是在一个方孔中安装一个圆钉-也许还有另一个工具可以跟踪文件系统相关的东西?不过,我确实很喜欢只使用一个迁移工具来完成所有任务
在我的Spring Boot项目中,我正在尝试为MongoDb实现一个数据库迁移,我对MongoDb和mongock非常陌生<下面是关于错误的一些详细信息,以及到目前为止我所做的工作: > 我的pom有以下依赖项: 我已经用“ 并将少量数据插入DB。 在application.properties文件中添加以下行 蒙哥克。更改日志扫描包=com。产品目标配置 现在,当我构建项目“mvn clean
我正在尝试使用gradle脚本迁移一些SQL表: 在脚本目录中,我只有一个SQL脚本: 当我运行 时,我得到输出: 在测试数据库中,创建了schema_version表,但没有创建表位置。 flyway的目录结构是: 我是否缺少飞行路线的一些其他设置?非常不幸的是,我没有收到任何错误消息。