我们希望使用Flyway进行数据库迁移。除了我们的迁移脚本之外,我们还需要执行一些不应被视为迁移的脚本(并且不需要在schema_version表中进行跟踪)。一个示例是执行包含仅与开发环境相关的配置数据或测试数据的脚本。我们仍然希望使用flyway-maven-plugin来执行这些SQL脚本,而不是在我的flyway-maven-plugin之前/之后运行的不同maven插件。
有关pre and post migration scripts for flyway的类似问题。如果实现了此功能,它也可以满足我们的需求。
答案 0 :(得分:4)
Flyway支持从多个位置加载脚本,您只需在某些环境中加载一组参考或测试数据,但在其他环境中不加载。
您必须为这些脚本提供一个版本,但这不应该是一个问题,因为它们依赖于存在的底层数据库结构。
答案 1 :(得分:1)
对于必须在数据库中的系统数据,例如查找表,这些可以由正常的迁移脚本处理。原因是它们与数据库结构和应用程序代码密切相关。您可以使用命名约定轻松区分系统数据脚本和DDL脚本。
对于测试数据,您可能需要考虑使用flyway-test-extentions。