mysql - Spring Boot Jdbc Flyway 版本文件名 "V1__script.sql"不起作用,而是使用 "V1_file.sql"重命名文件正在起作用

标签 mysql spring spring-boot spring-jdbc flyway

我已经尝试过使用 Flyway(5.2.3) 和 Spring boot(2.1.0-Release) for MySQL (5.7) 而不使用 JPA, 当我尝试运行 Spring boot 项目时,名为 "V1__script.sql" 的 Flyway 版本脚本文件仅创建一个表,并且会引发第二个表的异常 SQL 语法错误使用本地 MySQL 版本。 如果我通过 V1__script.sql、V2__script.sql、V3__script.sql 创建了多个文件,其中包含一个也可以正常工作的表脚本。

版本详细信息:

  • 飞行路线:5.2.3
  • Spring Boot:2.1.0 版本
  • MySQL:5.7

但是当我从“V1__file.sql”重命名该文件时,它工作正常,没有任何错误。

配置中有什么我遗漏的吗? Flyway 是否不支持脚本文件名中的“script”单词?

谢谢。

最佳答案

FlyWay 使用的 sql 脚本中允许使用多个语句。但它应该是正确的sql语句。确保以分号 (;) 结束各行

对正确文件的最佳测试是用其他东西运行它。如果您可以使用 mysql options table < V1__file.sql 导入文件那么 FlyWay 也应该可以工作。

如果将文件重命名为 V1_file.sql FlyWay 将忽略它。

关于mysql - Spring Boot Jdbc Flyway 版本文件名 "V1__script.sql"不起作用,而是使用 "V1_file.sql"重命名文件正在起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59576268/

相关文章:

php - 如何仅在审核后更新网站上尚未插入的数据?

MySQL LEFT JOIN 与 IF

java - Spring Security Hierarchy 角色系统

java.lang.ClassNotFoundException : org. apache.log4j.Level 异常

spring-boot - Spring Webflux : Extract value from Mono

java - 存储一个巨大的图形用于最短路径计算

MySQL 索引自动禁用 - 为什么?

java - 带有重音符号的编码错误。峰会形成时的 Spring-Mvc

java - Lombok 不适用于 spring-boot-maven-plugin

spring-boot - Spring Boot Integration Test 在使用 Hibernate Search 时由于 lucene lock 而失败