java - 您可以在 Autoconfigured Spring Boot H2 测试数据库上设置兼容模式吗?
问题描述
有没有办法为 H2 数据库配置 H2 兼容模式,Spring Boot 可以自动配置以替换常规数据库而无需替换它?
有记录的方法可以禁用自动配置测试数据库替换: https ://stackoverflow.com/a/43557541/141042
我不介意做这样的事情,但大多数替代方案都有其他复杂性:
- 如果您
application.properties
在测试类路径中添加 a ,它将在测试运行期间替换您的 mainapplication.properties
,因此您将无法维护两个文件(例如https://github.com/spring-projects/spring-boot/issues/10271) - 如果您为测试运行设置了配置文件,那么您必须确保任何需要测试数据库的测试都标有配置文件
有没有更好的方法来做到这一点?我喜欢 Spring Boot 自动配置测试数据库的简单性,但现在我似乎必须强制它进入 MySQL 兼容模式才能继续使用我现有的迁移。
有没有:
- 当spring自动配置测试数据库而不禁用该机制时,一种配置h2兼容模式的方法?
- 一种为所有测试指定 jdbc url 的方法,而无需修改每个测试(例如包含配置文件)或维护两个应用程序属性文件(例如新
application.properties
insrc/test/resources
)
解决方案
推荐阅读
- javascript - Sequelize - model.update vs instance.update(正确的更新方式)
- android-layout - 如何使用约束布局在空间中心对齐
- angular - ANGULAR 7 重新加载组件视图
- node.js - 在整个会话期间共享第三方 API 速率限制
- angular - 仅对特定 URL 禁用不区分大小写
- mysql - 在什么条件下应该创建新的 mysql 表?
- visual-studio - 如何快速评论和取消评论代码?
- rust - 如何使用 Rust 浏览 OPC UA 服务器的节点?
- python - Python:在第二个破折号之前按字符分组
- javascript - calc 没有在 HTMLbutton.onclick 中定义