gpt4 book ai didi

xml - 重构 Liquibase 更新日志文件

转载 作者:数据小太阳 更新时间:2023-10-29 01:48:44 25 4
gpt4 key购买 nike

我们正在使用 Liquibase对于我现在正在处理的这个项目,所有的变更日志都在一个大的 XML 文件中。不幸的是,这个文件变得太大了 - 我们想引入一个“主”文件,其中包括原始文件和任何新文件。

旧结构:

/db/changesets-from-beginning-of-time.xml

新结构:

/db/changesets/changesets-from-beginning-of-time.xml
/db/changesets/changesets-v.1.2.3.xml
/db/changesets/changeset-master.xml

changesets-* 文件的内容只是变更集 xml,而 changeset-master.xml 文件如下所示:

<databaseChangeLog xmlns="...skipped...">
<include file="changesets-from-beginning-of-time.xml"
relativeToChangelogFile="true"/>
<include file="changesets-v1.2.3.xml"
relativeToChangelogFile="true"/>
</databaseChangeLog>

现在,我数据库中的 DATABASECHANGELOG 表引用了旧文件,因此旧的变更集再次运行。

根据Liquibase documentation ,每个变更集都由 [filepath/-name]:::[id]:::[author] 组合唯一标识 - 这对我来说不是最佳选择。

所以我的问题是 - 如何在不破坏 liquibase 设置和清空数据库的情况下重构文件结构?

最佳答案

还有一个叫做"logicalFilePath"的东西在 liquibase 上被描述为:

Use to override the file name and path when creating the unique identifier of change sets. Required when moving or renaming change logs.

也许这有帮助。如果我没记错的话,这个选项允许不包含标识符的完整文件路径。

(虽然这不适用于格式化的 sql 文件。请参阅 Liquibase Jira 中的 issue: CORE-915

关于xml - 重构 Liquibase 更新日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com