gpt4 book ai didi

java - Flyway + h2内存数据库+ hibernate +测试导致表不存在

转载 作者:行者123 更新时间:2023-12-01 11:00:11 25 4
gpt4 key购买 nike

我正在使用 h2 db 进行测试,我正在使用 hibernate 自动创建表,但希望 Flyway 在数据库中插入脚本。所以,我的飞行路线没有创建脚本。

首先我不确定这是否可能。但是,当我使用某些插入脚本时,我的测试失败,因为 Flyway 无法插入记录,提示该表不存在。

它似乎在 h2 创建表之前就尝试运行脚本。

我正在使用 Spring Boot 来调用 Flyway。因此,我只需要这个依赖项和类路径中的 db.migration 文件夹来激活 Flyway:

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

无论如何都会很棒。

如果您需要更多信息,请告诉我。

如果我在 sql 文件中添加各种创建脚本,那么它将正常工作,但我不想编写创建脚本。相反,我想依靠 hibernate 来为我创建它。

谢谢

最佳答案

我正在使用Spring Boot,我通过在测试.properties中设置flyway的db url解决了这个问题:

spring.datasource.url = jdbc:h2:mem:DBNAME
spring.datasource.username = sa
spring.flyway.url = jdbc:h2:mem:DBNAME
spring.flyway.baseline-on-migrate = true

关于java - Flyway + h2内存数据库+ hibernate +测试导致表不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401664/

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