如何解决Spring Boot H2数据库不会自动重置找不到现有数据 Liquibase的问题
我有以下设置:
- Spring Boot
- 嵌入式H2数据库
- Liquibase凭证创建数据
首先,我想在每次重新启动应用程序时从头开始。 我希望liquibase每次都从脚本重新创建H2表。现在,它不保留现有数据。如果我从h2控制台中手动删除数据,除非我更新changeSet id-s,否则它不会重新创建它们。
即使到现在,我仍然有一个名为User的现有表,其中包含数据。我可以从h2控制台看到它。但是突然之间,当我使用我的JdbcTemplate查询时,找不到任何结果,也无法登录(它得到的是空结果)。
编辑:
我通过向我的User.java对象中添加了setter来修复了数据查询。这样就解决了(我希望没有它们就可以做,但看起来不是)。
但是我仍然希望每次创建的liquibase表都会重置,以便我可以更改查询而不会给我错误。
解决方法
在每次启动时获取新数据库的一种非常简单的方法是使用内存数据库而不是文件。
只需更换
spring.datasource.url=jdbc:h2:~/company;MV_STORE=false
通过
spring.datasource.url=jdbc:h2:mem:company;MV_STORE=false
在您的application.properties
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。