5

我们想使用 Flyway 进行数据库迁移。除了我们的迁移脚本之外,我们还需要执行一些不应被视为迁移的脚本(并且不需要在 schema_version 表中进行跟踪)。一个示例是执行包含仅与开发环境相关的配置数据或测试数据的脚本。我们仍然希望使用 flyway-maven-plugin 来执行这些 SQL 脚本,而不是在我的 flyway-maven-plugin 之前/之后运行的不同 maven 插件。

关于flyway 的迁移前和迁移后脚本,有人提出了类似的问题。如果实现了此功能,它也可以满足我们的需求。

4

2 回答 2

4

借助 Flyway 对从多个位置加载脚本的支持,您可以进行配置,使其仅在某些环境中加载一组参考或测试数据,而在其他环境中不加载。

您必须为这些脚本提供一个版本,但这不应该是一个太大的问题,因为它们无论如何都依赖于存在的底层数据库结构。

于 2013-04-03T07:09:12.497 回答
1

对于必须在数据库中的系统数据,例如查找表,这些可以由正常的迁移脚本处理。原因是它们与数据库结构和应用程序代码齐头并进。您可以使用命名约定来轻松区分系统数据脚本和 DDL 脚本。

对于测试数据,您可能需要考虑使用flyway-test-extensions

于 2014-03-19T13:34:06.230 回答