spring项目中大量的数据库迁移

A lot of database migrations in the spring project

我有一个包含 50 多个 liquibase 迁移的项目。 我有表格:货币、国家……他们现在正在填写迁移。 问题是,对于上下文为 运行 的每个集成测试,我都必须执行所有 50 次迁移。这需要时间。如您所知,spring 并不是最快的框架。 我能做什么? Gradle 通过所有测试所花费的时间是 10 分钟。

当然,你可以说是单体,是的,但是客户不想拆分逻辑,因为团队的平均水平很低。

如何加快集成测试?

根据迁移的类型,它们可能不是实际的性能问题。目前,我正在查看一个项目中大约 130 次迁移,虽然它们确实需要一定的时间,但与设置和拆除测试上下文所花费的时间相比,这算不了什么。从零开始,我希望它最多可以缩短 10-20 秒。

尽管出于其他原因重新启动可能是有意义的。例如,我们有 2015 年的变更集,这些变更集在其他变更集中回滚,所以它们只是额外的混乱。 documentation 不是很具体,但您可以删除所有变更集并在项目中间从头开始。但是,您需要小心,以便知道数据库的 正确状态 是什么(没有您可能做出的任何新变更集)。如文档中所述,它通常表示生产数据库的状态。

但请记住,这并不能保证显着加速。