Flyway迁移在H2嵌入式数据库中不是持久的

时间:2015-08-14 14:15:54

标签: spring-data-jpa h2 flyway

我实际上是在编写一个带有spring boot的小型Web应用程序,并希望将一个(嵌入式)H2数据库与Spring Data JPA和Flyway一起用于数据库迁移。

这是我的application.properties:

spring.datasource.url=jdbc:h2:~/database;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1;
spring.datasource.username=admin
spring.datasource.password=admin
spring.datasource.driver-class-name=org.h2.Driver

在我的@SpringBootApplication类的main()方法中,我执行以下操作:

ResourceBundle applicationProperties = ResourceBundle.getBundle("application");
Flyway flyway = new Flyway();
flyway.setDataSource(applicationProperties.getString("spring.datasource.url"), applicationProperties.getString("spring.datasource.username"), applicationProperties.getString("spring.datasource.password"));
flyway.migrate();

我添加了一个脚本,它在数据库中创建了一个表USER,Flyway说它已正确迁移,但如果我连接到数据库,则在模式PUBLIC中只列出了Flyway的schema_versions表。

如果我要添加另一个将基本数据插入USER表的脚本,则迁移会失败,因为重新启动Spring启动应用程序后该表不存在。

有人能告诉我配置是否丢失了吗?或者如果我的设置中有任何错误的假设......

0 个答案:

没有答案