在清理阶段,我们的 10000 个集成测试中的每一个都需要在每个集成测试完成之前将数据库恢复到其原始的“干净”状态。运行所有测试需要时间,80% 的时间花在数据库还原操作期间。
恢复操作只是从光盘中获取备份并恢复它。我现在想知道是否有办法优化这一点。我正在考虑的一种选择是将备份文件的位置从磁盘更改为内存。那可能吗?
另一种选择是仅拍摄表数据的快照,并仅将其保存为备份数据。我假设备份文件变得更小,因此恢复速度更快。那可能吗?
理想情况下,我希望避免恢复,而只是重置受影响的数据(每个测试产生的数据)。类似于:“恢复自测试开始以来修改过的任何表行”
我有哪些选择?我不是这方面的专家,但感觉我的问题应该有一个简单的解决方案。