springboot集成flyway依赖后,项目启动时读取sql没有创建flyway_schema表
时间: 2023-11-27 09:49:15 浏览: 78
在使用Spring Boot集成Flyway时,如果没有自动创建Flyway的元数据表,可能是因为您没有配置数据库连接信息或者配置信息不正确。
您可以在application.properties或application.yml中添加以下配置:
application.properties:
```
# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/db_name
spring.datasource.username=db_username
spring.datasource.password=db_password
# Flyway配置信息
spring.flyway.baselineOnMigrate=true
spring.flyway.locations=classpath:db/migration
spring.flyway.schemas=flyway_schema
```
application.yml:
```
spring:
datasource:
url: jdbc:mysql://localhost:3306/db_name
username: db_username
password: db_password
flyway:
baselineOnMigrate: true
locations: classpath:db/migration
schemas: flyway_schema
```
其中,`spring.datasource.url`、`spring.datasource.username`和`spring.datasource.password`分别是数据库连接信息,`spring.flyway.baselineOnMigrate`表示Flyway在启动时是否执行基线迁移,`spring.flyway.locations`表示存放SQL脚本的路径,`spring.flyway.schemas`表示Flyway操作的Schema。
请注意,如果您使用的是MySQL 8.0及以上版本,需要在`spring.datasource.url`中添加`?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true`配置,否则可能会出现时区错误和SSL报错。
阅读全文