Flyway:如何从迁移中删除大型迁移脚本

用户655145

我当前的项目中有一些Flyway迁移,用于将初始数据导入数据库。此数据非常方便,特别是对于开发人员来说,能够快速设置项目。生产数据是通过某些批处理作业导入的,并且具有较新的版本。

其中一些迁移非常大(约20MB),因此,每次应用程序启动时,Flyway都会花一些时间来计算迁移的校验和。对于集成测试来说,这也是一个问题,因为它们也需要花费更长的时间。

我认为这种方法是对Flyway的滥用,我认为迁移工具应主要用于结构数据。

我想从我们的应用程序中删除这些文件,而是使用配置管理工具(例如Vagrant,Puppet,Chef)在开发人员环境中导入测试数据。但是,我不能只是从应用程序中删除迁移文件,因为Flyway会抱怨迁移已记录在数据库中,但在应用程序迁移中却不存在。

我的第一个想法是创建一个具有高优先级版本号的新迁移,

  1. 删除测试数据
  2. 从schema_version表中删除迁移

然后删除迁移脚本。但是,这不起作用,Flyway仍然抱怨删除的迁移脚本丢失。是否存在迁移中不能与schema_version表进行交互的限制?

我还有什么其他选择?如果有可能,我想使用Flyway而不是手动进行。

Markdsievers

维修是您最好的选择。清空这些数据迁移,然后运行repair命令以根据空文件重新计算其校验和。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章