【发布时间】:2022-01-08 02:23:47
【问题描述】:
我正在尝试更改运行时使用的数据库(例如从 H2 到 MySQL 并返回)。是否也可以同时使用它们(意味着无论何时保存存储库(使用看似正确的术语,或至少是约定),都保存在两个数据库中的任何数据)?
我尝试了很多不同的东西,但我对 Spring Boot 的了解非常有限。
我的尝试都围绕着尝试将 spring.profiles.active=h2 更改为 spring.profiles.active=mysql ,反之亦然,就像在 application.properties 文件中一样,但在代码中。
我不一定要寻找与我一直在尝试的方法相似的方法。
有人可以帮我弄清楚如何做到这一点吗?
任何意见将不胜感激!
附: 值得一提的是,我正在使用的代码在这里 (https://github.com/spring-projects/spring-petclinic)。
【问题讨论】:
-
为什么?由于这些是不同的数据库和不同的 SQL 方言,它们不会一对一翻译,所以只切换数据库是行不通的,你还需要重新配置 Hibernate,例如(不仅仅是方言,内存中的整个元数据,表示重新启动)。总而言之,你似乎在尝试一些你不应该做的事情。
-
感谢您的回复。基本上,我这样做是因为我正在尝试学习如何执行实时数据库迁移(两个数据库可能以非常不同的方式存储数据)。您认为应该如何解决?编辑:例如,我正在考虑以某种方式连接到一个数据库,将数据存储在一个变量中,切换到另一个数据库,然后将该变量的数据保存到另一个数据库中。
标签: spring spring-boot spring-data-jpa spring-data