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

如何找出spring-boot正在运行的模式脚本?

赏彭薄
2023-03-14

我有一个基于Spring-Boot1.4和Spring-JDBC的应用程序。

我添加了Flyway,它在应用程序本身中工作,但我的JdbcDAO测试用例出现了错误。

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; 
nested exception is org.flywaydb.core.api.FlywayException: Found non-empty schema(s) "PUBLIC" without schema history table! Use baseline() or set baselineOnMigrate to true to initialize the schema history table.
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [INSERT INTO BLUECOST_SSCDATA (SSCDATAID,PROCESSGROUPID,COSTINGAMOUNT,CHRG_TYP_CD,CONTROL_GROUP_CD,ACCOUNT_ID,CHRGHS_END_DT,ORIG_LOC_CD,SERVICE_TYP_CD,SERVICE_CD,SERVICE_GROUP_ID,SERVICE_ENV_CD,SERVICE_ADDER_CD,SERVICE_RESTYP_CD,RATECLAS_CD,PRICELST_UP_AMT,CHRGHS_USAGE_QTY,EMP_FA_CD,EMP_DIV_CD,EMP_DPT_CD,EMP_COUNTRY_CD,EMP_COMPANY_CD,EMP_NUM,EMP_INITS,EMP_LASTNAME,USER_ID,ADJUSTMENT_ID,CUST_REFERENCE_ID,ORIG_DIV_CD,ORIG_DPT_ID,ORIG_COUNTRY_CD,ORIG_COMPANY_CD,LOCAL_FIELD_1,LOCAL_FIELD_2,LOCAL_FIELD_3,LOCAL_FIELD_4,LOCAL_FIELD_5,LOCAL_FIELD_6,CREATETIME,PROCESSTIME,LAST_ALTER_TMS,TRX_TYP_CD,FILENAME) VALUES (100,null,368.60,'CTA','EMEA    ','D286148 ','2018-03-19','SLR','SLR','SLIC','BASE',null,null,null,'OGS',null,null,null,null,null,null,null,null,null,'IBM SLIC BV',null,null,null,null,null,'653','SOFTLAYR','INVCE ID','X91927','ACCNT ID','FILENAME1.XLS',null,null,{ts '2018-04-22 01:30:21.437000'},null,{ts '2018-03-22 01:32:21.437000'},'I','FILENAME1.XLS')]; nested exception is java.sql.SQLSyntaxErrorException: requires either DEFAULT keyword or OVERRIDING clause
    at com.ibm.cio.cloud.cost.spreadsheet.dao.UTJdbcBluecostSSCDataDAOTest.testDeleteBluecostSSCDataByLocalField2AndLocalField4(UTJdbcBluecostSSCDataDAOTest.java:265)
Caused by: java.sql.SQLSyntaxErrorException: requires either DEFAULT keyword or OVERRIDING clause
    at com.ibm.cio.cloud.cost.spreadsheet.dao.UTJdbcBluecostSSCDataDAOTest.testDeleteBluecostSSCDataByLocalField2AndLocalField4(UTJdbcBluecostSSCDataDAOTest.java:265)
Caused by: org.hsqldb.HsqlException: requires either DEFAULT keyword or OVERRIDING clause
    at com.ibm.cio.cloud.cost.spreadsheet.dao.UTJdbcBluecostSSCDataDAOTest.testDeleteBluecostSSCDataByLocalField2AndLocalField4(UTJdbcBluecostSSCDataDAOTest.java:265)

这给了我一个线索:在运行“MVN测试”目标时,我最新的Flyway脚本似乎没有应用于模式。

在运行mvn测试目标时,如何打开调试以查看Flyway发生了什么?

共有1个答案

施阳夏
2023-03-14

修正-现在收回这个问题。

<logger name="org.flywaydb" level="DEBUG">
    <appender-ref ref="STDOUT"/>
</logger>
 类似资料:
  • 我正在尝试让Appfuse+Tomcat+jRebel工作。 我看着问题的标题,@Tech Junkie和@CPU100确实有最好的答案,但不是针对我遇到的场景。(我想知道运行的是我安装的tomcat还是“项目盗用的”tomcat)

  • 我的maven项目结构: 我的问题是,我只需要运行父模块,它自动实例化子模块(tomcat服务器)。spring boot多模块项目有可能吗? 注意:我使用的是STS。父模块打包是pom,子模块打包是jar文件。 我的父pom文件 我的问题是如何使用Tomcat运行父项目?如果我运行父项目,子模块是否自动运行? 提前感谢!!!

  • 我正在为Spring引导Web服务器编写集成测试 我想使用junit-jupiter(junit5)来检查服务器是否正在使用运行,以便在服务器未运行时测试不会失败... 似乎没有任何API支持这样的操作,但是可以通过其他方式实现吗?Ping 服务器?

  • 我有Spring靴罐。它包含引导inf文件夹,其中包含类和lib文件夹。我需要运行有main方法的特定类。但我不知道怎么操作。对于普通jar,我们可以使用以下格式从jar运行类。 但是在春引导罐中运行类的格式是什么。因为它包含引导信息文件夹。我正在使用gradle脚本来构建项目

  • 我正在尝试让Appfuse+tomcat+jRebel工作。 Appfuse默认使用Cargo下载tomcat(ver.7.0.33)并将应用程序部署到其中。我希望使用已经安装的tomcat(ver.7.0.27)而不是下载的。我根据appfuse常见问题进行了更改。 使用进行部署后,我如何知道实际运行的tomcat确实是7.0.27? 我曾经键入一个错误的URL(例如localhost:8080

  • 我有下面同样的问题,但我想知道答案。Spring Boot:如何使用多个模式,并在运行时为每个请求动态选择使用哪一个模式 请帮助我找到答案 如何拥有一个数据库连接并为每个请求指定不同的模式? 提前谢谢你。