2016-01-21 66 views
0

我在我们公司介绍了Flyway,我想知道是否可以在tar.gz或zip中使用flyway支持脚本。我们的转储非常庞大(600MB),即使我只转储了必要的表,它仍然足够大(100MB)。 Github只支持低于50MB的文件,所以我不能提交这个基准。Do Flyway支持压缩脚本

或者我做错了使用生产转储作为基准?

+1

就我个人而言,我不会把所有生产*数据*放在基准线上。我会将生产*模式*放入基准中,然后在数据库中定义一组测试数据。问题是,为什么你想要/需要迁移中的生产数据? –

回答

0

这听起来像你需要一个工具,如DbUnit。如果不是,那么使用自定义MigrationResolver来做你想做的事当然是可能的。您可以拥有任意数量的压缩文件(保持在50MB以下)并从类路径(或文件系统位置)读取它们。你甚至可以在你的自定义解析器中使用DbUnit来简化事情。我之前完成的任务是将庞大的任务分解为一组较小的ResolvedMigration任务,每个任务都有一个次要版本号,这样可以更容易地推断发生了什么事情,特别是当事情失败时。生成版本号的过程是完全确定性的,否则您的迁移可能会以奇怪的方式失败。您可能需要做一些额外的工作,以确保您的对象是懒惰的,这样您每次运行Flyway时都不会最终解压数百兆字节,无论是否需要完成任何工作。