Javers 在一个单独的数据库上?

Javers on a separate database?

来自另一个 ,似乎 javers 可以将变更集存储在另一个数据库中。正如@Bartek Walacik 所说:

Advantages? You can choose where to store audit data. By default JaVers uses the same database as application does, but you can point another database. For example, SQL for application and MongoDB for JaVers or centralized JaVers database shared for all applications in your company).

以上是我想要做的:我想将变更集(jv_commit、jv_commit_property、jv_global_id 和 jv_snapshots)存储在单独的数据库中从主要的。我该怎么做?

我的应用程序 yaml 中有以下内容:

javers:
mappingStyle: FIELD
algorithm: SIMPLE
prettyPrint: true
typeSafeValues: false
newObjectSnapshot: false
packagesToScan:
auditableAspectEnabled: true
springDataAuditableRepositoryAspectEnabled: true

我查看了 Javer 的生成器 doc,但找不到任何允许我指定数据源的内容。

请帮忙?

如果您使用 JaVers 的 Spring Boot Starter,您可以覆盖这个 bean:

@Bean
@ConditionalOnMissingBean
public ConnectionProvider jpaConnectionProvider() {
    return new JpaHibernateConnectionProvider();
}

ConnectionProvider 应该 return 连接到那个单独的数据库。