gpt4 book ai didi

spring-boot - 使用 spring-boot 2.0.2.RELEASE 并且 FlyWay 未运行。没有错误

转载 作者:行者123 更新时间:2023-12-03 14:39:22 45 4
gpt4 key购买 nike

我有一个非常简单的设置,全新的项目,并且由于某种原因 Flyway 从不初始化。没有错误。我花了几个小时试图弄清楚我做错了什么,但无济于事。

此外,我使用 Spring Boot 1.4.2.RELEASE 对另一个项目进行了几乎相同的设置。唯一的区别是 application.yml 中的 Flyway 配置现在在“spring”上下文下,而不是在根目录下。

如果有人能看到我遗漏了什么,或错别字或其他什么,我将不胜感激。

我还尝试注释掉 flyway 特定的数据源配置,以便它只使用 spring 数据源,但这没有区别。

谢谢,托尼亚

pom.xml(相关部分):

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>

<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>

application.yml(相关部分)
spring.profiles: default

spring:
flyway:
url: jdbc:mysql://localhost:3306/test_schema?tinyInt1isBit=false
user: adminuser
password: adminuser

datasource:
url: jdbc:mysql://localhost:3306/test_schema?tinyInt1isBit=false
username: restricteduser
password: restricteduser
driver-class-name: com.mysql.jdbc.Driver

jpa:
database: MYSQL
hibernate.ddl-auto: none
show-sql: true
properties.hibernate.dialect: org.hibernate.dialect.MySQL5InnoDBDialect

数据库设置脚本:
CREATE SCHEMA `test_schema`;

CREATE USER IF NOT EXISTS 'restricteduser'@'%' IDENTIFIED BY 'restricteduser';
GRANT SELECT,INSERT,UPDATE,DELETE ON test_schema.* TO 'restricteduser'@'%' WITH GRANT OPTION;

CREATE USER IF NOT EXISTS 'adminuser'@'%' IDENTIFIED BY 'adminuser';
GRANT ALL PRIVILEGES ON test_schema.* TO 'adminuser'@'%' WITH GRANT OPTION;
GRANT SUPER ON *.* TO 'adminuser'@'%';
FLUSH PRIVILEGES;

src -> main -> 资源 -> db -> 迁移 -> V1__create_test_schema.sql
DROP TABLE IF EXISTS `testing`;
CREATE TABLE `testing` (
`id` VARCHAR(50) NOT NULL,
`test_string` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;

日志输出:
2018-05-17 09:27:46.498  INFO 55086 --- [           main] ilmn.vqs.VqsApplication                  : Starting VqsApplication on ussd-olm-016438 with PID 55086 (/Users/tohrel/projects/variant-query-service/target/classes started by tohrel in /Users/tohrel/projects/variant-query-service)
2018-05-17 09:27:46.502 INFO 55086 --- [ main] ilmn.vqs.VqsApplication : The following profiles are active: default
2018-05-17 09:27:46.547 INFO 55086 --- [ main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33c911a1: startup date [Thu May 17 09:27:46 PDT 2018]; root of context hierarchy
2018-05-17 09:27:47.636 INFO 55086 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8090 (http)
2018-05-17 09:27:47.659 INFO 55086 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-05-17 09:27:47.659 INFO 55086 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.31
2018-05-17 09:27:47.663 INFO 55086 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/tohrel/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
2018-05-17 09:27:47.730 INFO 55086 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-05-17 09:27:47.731 INFO 55086 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1183 ms
2018-05-17 09:27:48.002 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-05-17 09:27:48.002 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-05-17 09:27:48.002 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-05-17 09:27:48.002 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2018-05-17 09:27:48.003 INFO 55086 --- [ost-startStop-1] .s.DelegatingFilterProxyRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2018-05-17 09:27:48.003 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpTraceFilter' to: [/*]
2018-05-17 09:27:48.003 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'webMvcMetricsFilter' to: [/*]
2018-05-17 09:27:48.003 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
2018-05-17 09:27:48.095 INFO 55086 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-17 09:27:48.279 INFO 55086 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33c911a1: startup date [Thu May 17 09:27:46 PDT 2018]; root of context hierarchy
2018-05-17 09:27:48.327 INFO 55086 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-05-17 09:27:48.328 INFO 55086 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-05-17 09:27:48.346 INFO 55086 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-17 09:27:48.346 INFO 55086 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-17 09:27:48.933 INFO 55086 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: org.springframework.security.web.util.matcher.AnyRequestMatcher@1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@70f822e, org.springframework.security.web.context.SecurityContextPersistenceFilter@1abfe081, org.springframework.security.web.header.HeaderWriterFilter@52d6cd34, org.springframework.security.web.csrf.CsrfFilter@65753040, org.springframework.security.web.authentication.logout.LogoutFilter@17b6d426, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@5e2a3040, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@5c1f6d57, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@5bb51241, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@c2e3264, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4492eede, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3efedc6f, org.springframework.security.web.session.SessionManagementFilter@27b2faa6, org.springframework.security.web.access.ExceptionTranslationFilter@61d84e08, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3872bc37]
2018-05-17 09:27:48.966 INFO 55086 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-05-17 09:27:48.973 INFO 55086 --- [ main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@168cd36b: startup date [Thu May 17 09:27:48 PDT 2018]; parent: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33c911a1
2018-05-17 09:27:49.006 INFO 55086 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'handlerExceptionResolver' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration; factoryMethodName=handlerExceptionResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration; factoryMethodName=compositeHandlerExceptionResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/actuate/autoconfigure/web/servlet/WebMvcEndpointChildContextConfiguration.class]]
2018-05-17 09:27:49.033 INFO 55086 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8091 (http)
2018-05-17 09:27:49.034 INFO 55086 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-05-17 09:27:49.034 INFO 55086 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.31
2018-05-17 09:27:49.041 INFO 55086 --- [ost-startStop-1] o.a.c.c.C.[Tomcat-1].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-05-17 09:27:49.041 INFO 55086 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 68 ms
2018-05-17 09:27:49.057 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Servlet dispatcherServlet mapped to [/]
2018-05-17 09:27:49.057 INFO 55086 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2018-05-17 09:27:49.068 INFO 55086 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path ''
2018-05-17 09:27:49.076 INFO 55086 --- [ main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/healthcheck],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2018-05-17 09:27:49.093 INFO 55086 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public java.util.Map<java.lang.String, java.lang.Object> org.springframework.boot.actuate.autoconfigure.web.servlet.ManagementErrorEndpoint.invoke(org.springframework.web.context.request.ServletWebRequest)
2018-05-17 09:27:49.097 INFO 55086 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-17 09:27:49.097 INFO 55086 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-05-17 09:27:49.106 INFO 55086 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@168cd36b: startup date [Thu May 17 09:27:48 PDT 2018]; parent: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@33c911a1
2018-05-17 09:27:49.158 INFO 55086 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8091 (http) with context path ''
2018-05-17 09:27:49.167 INFO 55086 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8090 (http) with context path ''
2018-05-17 09:27:49.169 INFO 55086 --- [ main] ilmn.vqs.VqsApplication : Started VqsApplication in 3.075 seconds (JVM running for 3.81)
2018-05-17 09:27:49.670 INFO 55086 --- [on(8)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-05-17 09:27:49.670 INFO 55086 --- [on(8)-127.0.0.1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2018-05-17 09:27:49.684 INFO 55086 --- [on(8)-127.0.0.1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 14 ms

最佳答案

通过向 application.yml 添加“位置”配置,我能够让 FlyWay 按预期运行……像这样:

spring:
flyway:
url: jdbc:mysql://localhost:3306/test_schema?tinyInt1isBit=false
user: adminuser
password: adminuser
locations: classpath:/db/migration

根据此处的 spring-boot 文档: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html ,我不应该配置那个目录位置

By default, they are in a folder called classpath:db/migration, but you can modify that location by setting spring.flyway.locations



感谢任何人度过的任何时间。如果有人知道为什么我在使用默认位置时需要配置位置,请告诉我。

谢谢,
托尼亚

关于spring-boot - 使用 spring-boot 2.0.2.RELEASE 并且 FlyWay 未运行。没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50396514/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com