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

为什么要运行flyway迁移需要JPA依赖项

通建安
2023-03-14

嗨,
我是Spring boot gradle项目的新手。我正在尝试用Spring boot应用程序运行flyway迁移。这就是我在gradle中设置依赖项的方式,

首先,我将依赖项添加为org.springframework.boot:spring-boot-starter-web。这足以暴露一个终点。

然后我尝试以org.flywaydb:flyway-core:4.0的方式添加flyway依赖项,它既没有抛出错误,也没有运行迁移脚本,直到我添加了依赖项org.springframework.boot:spring-boot-starter-data-jpa:1.3.5.release。在查看了data-jpa jar的pom.xml之后,我确定了这个jar的hibernate包以及org.springframework.boot:spring-boot-starter-web的依赖关系。所以我删除了添加的第一个依赖项jar。但服务启动失败。我的怀疑是:

1)添加JPA库以运行flyway脚本的必要性是什么
2)如果org.springframework.boot:spring-boot-starter-web是jarorg.springframework.boot:spring-boot-starter-data-jpa:1.3.5.release的依赖项,为什么还要再添加一次

共有1个答案

左丘宜然
2023-03-14

使用Flyway自然意味着要处理某种类型的数据源,否则在项目中添加数据库迁移库有什么意义呢?

当您添加Flyway依赖项时,默认情况下Spring Boot会自动将Flyway与其数据源自动连接起来,并根据文档在启动时调用它。

因此需要一个JPA库。

 类似资料:
  • 我有一个现有的数据库。我创建了两个迁移 我在中设置了以下内容 Spring Boot1.5.6,飞道芯3.2.1 Spring文档-FlyWay文档

  • 在Rails 4.0.0.rc1、Ruby 2.0.0上,在我运行迁移之后,当我试图通过< code>rspec运行测试时,我看到以下错误: /用户/peeja/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0.rc1/lib/active_record/migration。rb:376:在“check_pen

  • 问题内容: 我在多模块项目中使用依赖项时遇到麻烦。例如,当我声明模块依赖于这样的模块时(完整代码在此处): 如果我使用Maven 2 运行,则会出现以下错误: 如果我使用Maven 3,则会收到错误消息: 在后一种情况下,我特别困惑,因为我认为它应该在寻找type 而不是type 的工件。 使用maven 2或maven 3,可以通过运行进行编译。使用maven 3,我还可以通过运行进行编译。 但

  • WCDB开源至今已两个月有余,我们在不断迭代功能、完善文档的同时,也与来自世界各地的开发者进行交流,帮助他们更快地了解、掌握WCDB。这其中,也不乏使用FMDB的开发者。他们正准备将项目的数据库模块改为WCDB。 对于一个已经上线运行的项目,数据库这类基础组件与业务的耦合通常较多,迁移有一定工作量的。因此,开发者通常会做很多预研,以确定是否进行迁移。 WCDB在Github的wiki上提供了专门的

  • 我不太明白它解决了什么问题。它看起来像是这样说:“Hi.当你运行到这个函数时,返回一个对象,它是这种类型的,并且使用这些参数/数据。” 但是...我为什么要用这个?注我也从来不需要使用,但我理解这是为了什么。 在构建一个网站或桌面应用程序时,有哪些实际情况可以使用DI?我可以很容易地想出为什么有人想在游戏中使用接口/虚拟函数的例子,但是在非游戏代码中使用这种方法是极其罕见的(非常罕见,以至于我都记

  • 问题内容: 在GO教程中,我们有这张幻灯片:Goroutines 运行此代码会产生预期的结果(“ world”和“ hello”交替写入屏幕5次)。 但是,如果我们注释掉了(因此是导入行)并再次运行该程序, 则只剩下 “ hello”被写入屏幕五次了。 有什么重要的意义可以使goroutine免于死亡? 问题答案: 如果将其删除,则不会给goroutine运行的机会。goroutine调度程序不是