当前位置: 首页 > 知识库问答 >
问题:

使用flyway修补多个相同的模式

和柏
2023-03-14

我已经仔细阅读了飞行路线文档,但我不清楚我想要的场景是否可行。我需要在同一数据库中修补许多相同的模式,但在编写sql脚本时,我不知道所有的模式名称。

我知道架构参数,但常见问题解答中提到的2种可能的策略不适用于我的方案。

这个场景类似于大学为学生提供模式:

  • 我想为对象提供没有模式前缀的sql脚本
  • 每个架构都应该有自己的schema_version表
  • 在飞行方式:迁移模式参数中定义的每个模式都应该单独修补,即sql脚本应该在每个模式中运行。

我知道一个潜在的问题是,“模式”在f.ex中意味着不同的东西。预言机比在后记,所以我想知道是否有任何其他推荐的方法来实现这一目标。

否则,我正在考虑自己实现此功能...如果我们自己做,是否有机会在上游获得此功能?

谢谢:)

共有1个答案

庄弘业
2023-03-14

您最好的机会是使用一个方法来包装Flyway,该方法将列出适用的模式,然后在模式属性设置为正确的情况下,使每个模式运行一个Flyway。

这真的是一个不错的功能,所以在这个时候,我会说看到它包含在主发行版中的机会非常渺茫。

 类似资料:
  • 我有一个关于Flyway和管理多个模式的问题。我有多个模式(schema1、schema2、schema3),它们具有不同的部署计划和不同的文件夹位置(sql/schema1、sql/schema 2、sql/sschema3、sql/schma3)以及不同的代码。 我想在代码部署之前通过 Flyway 创建架构,但我如何在单个配置文件中进行设置?我阅读了 Flyway 文档(https://fl

  • 我有一个运行多个dbs的mysql服务器,这些dbs有一些完全相同的表(别问了,我继承了这个项目): 它们之间还有许多相同的表,此外,DB01、DB02和DB03还有它们独占的其他表。 有没有可能为上面的表结构使用一个模型/服务层,这样我就可以使用Hibernate单独查询每个表? 我尝试的是设置一个抽象超级类(使用@MappedSuperClass),但这需要大量文件继承这个类,唯一的区别是@t

  • 我正在尝试对具有相同生命周期的许多不同的Postgresql架构进行迁移。根据飞行路线文档,这种情况应该有效。我的 ANT 脚本中有以下内容:当我运行迁移时,更改仅应用于第一个(默认)架构。 是我做错了什么,还是flyway.schemas属性只对clean有效? 谢谢

  • Flyway FAQ将多个模式分为三种情况: 多个相同的模式 模式是不同的,但有相同的生命周期 模式有一个独特的生命周期,或者必须是独立的和干净的分离 我们正在使用Maven构建一个多模块SpringBoot4.5.9项目。每个模块都是完全独立的,并且有自己的数据库模式。所有模式都驻留在一个数据库中,因此只有一个Spring数据源。 由于模块是独立的,我们希望分别管理它们各自的模式迁移,因此上面的

  • 刚开始,我正在为一个应用程序创建一个数据库。由于模式在视觉上变得非常复杂,在多个模式中具有相同的user_table是可能的/可行的/推荐的吗? 例如,blogging模式将具有user_table和与此activity相关的其余表。购物模式将再次具有相同的user_table和表来管理购物activity。等等... 目标是将不同模式中的大量表分离开来,从而简化整体管理。 在另一篇文章中,有人建

  • 我有一个应用程序需要收听多个不同的主题;每个主题都有关于如何处理消息的单独逻辑。我曾想过为每个KafkaStreams实例使用相同的kafka属性,但我得到了如下所示的错误。 错误 流处理应用程序的标识符。在Kafka集群中必须是唯一的。它用作1)默认的客户端ID前缀,2)用于成员资格管理的组ID,3)变更日志主题前缀。 问题 此错误意味着什么,以及导致此错误的原因。 假设您可以有应用程序的多个实