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

Liquibase不填充changelog表中的contexts列

施玉宸
2023-03-14

我在SpringBoot中使用liquiBase 3.8.0。我的changelog文件树如下所示:

changelog-master.xml
--changelog-test.xml
----changelog-1.0.0
----changelog-1.1.0
--changelog-prod.xml
----changelog-1.0.0
----changelog-1.1.0

我尝试使用上下文,但发现了奇怪的行为--如果我在changelog-master.xml或changelog-test.xml中使用上下文,就像这样(父级changelog文件):

 <include file="test/changelog-test.xml" relativeToChangelogFile="true" context="!prod"/>
<changeSet id="changelog_in_test_section" author="author@mail.ru" logicalFilePath="changelog-1.0.0" context="test">

之后,contexts列将填充“!prod AND test”

我希望contexts列始终是填充的(如果我在父changelog中使用context属性)。

共有1个答案

慎芷阳
2023-03-14

我会将此添加到github问题列表中。或者更好的是,如果您有一个代码修复,将其添加为一个请求。https://github.com/liquiBase/liquiBase/isposes

 类似资料:
  • 我在spring Boot2应用程序中有以下错误: 由:liquiBase.exception.changeLogParseException引起:读取迁移文件时出错:无法将类路径资源[src/main/resources/changeLogs/changeLog-1.0.xml]解析为URL,因为它不存在于liquiBase.parser.core.xml.xmlChangeLogsaxPars

  • 解决这种迁移的合适方法是什么?扔掉changelog历史记录,使用修改后的changelog从头重新构建架构,然后迁移数据?有更好的方法吗?

  • 在我的应用程序中,我可能需要运行多个Changelog文件,但我无法执行这样的执行, 我尝试按以下方式提供多个Changelog, LiquiBase.SetChangeLog(“classpath:schema/update-schema-01.sql”); LiquiBase.SetChangeLog(“classpath:schema/update-schema-02.sql”); 请在这里

  • 按照建议,我在我的中创建了一个文件 要能够运行。 当我运行,我得到以下输出(使用选项): 看起来该命令运行“成功”,但在我挂载的本地目录中找不到文件,即。然而,挂载必须工作,因为它成功地连接到数据库,即容器能够访问和读取。 首先,我认为我可能必须“告诉”Docker允许在我的磁盘上写入,但似乎应该支持这一点[从Docker Hub上的描述来看]: /liquibase/changelog卷还可用于

  • 我试过使用和不使用。表和已成功创建,并包含迁移(insert-books)。 迁移是通过的,因为如果我添加了一个无效的insert(到一些不存在的表中),我会得到异常: 如何使用LiquiBase用insert-books.sql脚本中的数据填充数据库?

  • 我正在将一个庞大的基于Spring Boot1.x的项目升级到Spring Boot2.2。旧版本使用的是LiquiBase3.5,当前的升级分支使用的是LiquiBase3.8。 主changelog文件具有以下结构: LiquiBase的属性读取系统在3.5和3.8之间有变化吗? 作为变通方法,我使用这里定义的方法:https://reflectoring.io/database-migrat