使用 Envers 时如何处理 Flyway 迁移?

Posted

技术标签:

【中文标题】使用 Envers 时如何处理 Flyway 迁移?【英文标题】:How to approach Flyway migration when using Envers? 【发布时间】:2020-11-13 05:29:17 【问题描述】:

我需要向我的数据库中添加一些数据。简单的 INSERT 语句。我会在 Flyway 迁移 SQL 脚本中执行此操作。但是当 Hibernate Envers 也到位时,如何处理这个任务呢?我需要手动更改审计表和修订表吗?或者有没有更好的方法?

我正在考虑使用 hibernate 进行基于 java 的迁移(它还会自动更新审计表),但恐怕不是这样。我不知道,我该怎么做。有什么建议吗?

【问题讨论】:

【参考方案1】:

恐怕您没有其他选择,只能手动进行。 Envers 检测到 Hibernate 的 Session 操作,因此如果您的迁移在 Session 之外,您必须自己更改审计表。

【讨论】:

我有一个现有项目。由于没有找到关于此用例的太多信息,我想我将手动创建以前 Flyway 迁移中 REV = 1 的所有插入,因此它将被视为“自第一个版本以来”。

以上是关于使用 Envers 时如何处理 Flyway 迁移?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理无效的先前有效的 Flyway 迁移

Envers 如何处理架构更改?

使用 QNetworkAccessManager 时如何处理代理

使用 ActiveMerchant 时如何处理超时?

使用 UIKeyCommand 时如何处理大小写字符

在 Sequelize 中使用 .create(...) 方法时如何处理错误