liquibase 相关问题

Liquibase是一个独立于数据库的开源库,用于跟踪,管理和应用数据库更改。它建立在一个简单的前提上:所有数据库更改都以人类可读但可跟踪的形式存储,并检入源代码控制。

LiquiBase 问题,类路径资源 [db/changelog/db.changelog-master.yaml] 无法解析为 URL,因为它不存在

我在将 liquibase 与 springboot 集成时遇到问题。 我在 pom 文件中添加了 liquibase 依赖项,如下所示: <

回答 7 投票 0

liquibase 锁有超时吗?

您可以在此处的问题中看到:(liquibase-lock-reasons)在 Liquibase 操作中断时客户端 Liquibase 锁定的情况,使 liquibase 处于锁定状态。 我赢了...

回答 3 投票 0

仅使用 XML 时,Liquibase 在应用属性替换之前或之后计算变更集的校验和吗?

我有以下变更集,但找不到任何有关校验和是在属性替换之前还是之后计算的文档。 我有以下变更集,但找不到任何有关校验和是在属性替换之前还是之后计算的文档。 <changeSet author="[...]" id="[...]"> <addColumn tableName="FOO"> <column name="BAR" type="${type.string.max.80}" /> </addColumn> </changeSet> 不过,可能存在差异,因为对于嵌入到 XML 和 YAML 中的 SQL,处理方式与例如 SQL 相比有所不同。外部 SQL 文件。但就我而言,我根本没有任何简单的 SQL。 您可以使用 sql 和 sqlFile 更改类型的属性替换。请注意,Liquibase 在替换您指定的任何属性后会获取 sql 变更集的校验和。但是,它会在替换外部 SQL 文件中的属性之前获取 sqlFile 变更集的校验和。 https://docs.liquibase.com/concepts/changelogs/property-substitution.html?_ga=2.45579489.475291501.1716446628-689967727.1694174943 那么我的 XML 示例是什么情况? 谢谢! 如果我正确回答了你的问题,尽管文档中没有指定,但如果我们制作并试验一个 spring-boot 应用程序并创建一个如下所示的变更集: <changeSet id="foo" author="bar"> <createTable tableName="${test1}"> <column name="the_name" type="varchar(32)"/> </createTable> </changeSet> 在 application.properties 中我们有: spring.liquibase.parameters.test1=12345 Liquibase 将创建一个表“12345”。并在 databasechangelog 表中留下一条带有一些校验和的记录。 现在,如果我们将 test1 值更改为: spring.liquibase.parameters.test1=123456789 并重新部署应用程序,Liquibase 将失败并出现校验和验证错误。 所以我建议 Liquibase 在应用属性替换之后计算 xml changeSet 的校验和。 否则(从校验和的角度来看)无论属性如何更改,changeSet 都应该与 tableName="${test1}" 保持“相同”。

回答 1 投票 0

liquibase 从 3.6.3 升级到 4.9.1 导致执行已经执行的文件

我们正在升级 spring boot(2.1.6.Release 到 2.7.18),这又将 liquibase 从 3.6.3 升级到 4.9.1,从而执行已经执行的文件。 看起来像是新版本的

回答 1 投票 0

如何更改Liquibase示例指定的H2数据库控制台端口号?

Liquibase 安装附带一个示例目录,您可以使用它来了解不同的命令。 这些示例使用 H2 数据库以及端口 9090 上的 Web 控制台。不幸的是,端口 9090 不是

回答 2 投票 0

强制 liquibase 通过给定参数值计算校验和

在我的 yaml 中,我有一个如下所示的参数结构: 春天: 液体碱: 参数: 表: 表1: 表1 以及一个基于数据在 PostgreSQL 中创建虚拟表的脚本...

回答 1 投票 0

Liquibase 先决条件不起作用

我正在尝试使用 liquibase 来跟踪使用 dropwizard-migrations 的 postgresql 数据库的更改。我希望能够在现有生产数据库上运行迁移而不是重建...

回答 5 投票 0

Liquibase 前提条件变成青蛙

我正在尝试使用 liquibase 来跟踪使用 dropwizard-migrations 的 postgresql 数据库的更改。我希望能够在现有生产数据库上运行迁移而不是重建...

回答 5 投票 0

liquibase 命令检查黑白现有变更集和 pr-checkout 变更集的差异

在 github 工作流程中,当使用 liquibase 部署数据库更改时,我们需要识别现有更改日志和预检出更改日志之间的差异。 识别这些变更集

回答 1 投票 0

Liquibase 无法回滚到任何标签

跑步 liquibase 回滚--tag=1 给出这个错误: Liquibase 开源 4.27.0 由 Liquibase 提供 错误:异常详细信息 错误:异常主类:RollbackFailedException 错误:异常优先...

回答 1 投票 0

liquibase 标记变更集已应用

如何将特定变更集标记为在 liquibase maven 插件中应用?文档中没有任何内容,命令 markNextChangeSetRan 似乎什么也没做。

回答 4 投票 0

错误:尝试执行回滚时,数据库 URL 尚未指定为参数或属性文件中

我正在尝试执行回滚,但收到以下错误 数据库 URL 尚未指定为参数或属性文件中。 我的 pom 中确实有数据库 URL ...

回答 2 投票 0

如何正确使用liquibase`searchPath`选项来指示各自的资源文件夹?

我正在尝试调用 liquibase 的更新命令,如下所示: liquibase 更新 --changelog-file=./persistence/src/main/resources/changelog/db.changelog-dev.xml \ --url="j...

回答 2 投票 0

如果我已经有changelog.xml,如何正确创建外部liquibase-changeSet.xml?

<?xml version="1.0" encoding="utf-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.9.xsd"> <changeSet id="sameAsOriginalChangelog" author="xy"> <addColumn tableName="table_to_modify"> <column name="new_column" type="varchar(255)"> <constraints nullable="true"/> </column> </addColumn> </changeSet> </databaseChangeLog> 我已经有一个 changelog.xml 此表,我必须使用额外的 xml 变更日志文件更新该表,它会起作用吗? 所有 Liquibase 更改的根源是更改日志文件。液体碱 使用变更日志按顺序列出对您所做的所有更改 数据库。把它想象成一个分类账。这是一个包含记录的文件 所有数据库更改(更改集)。 Liquibase 使用这个 更改日志记录来审核您的数据库并执行任何更改 尚未应用到您的数据库。 请在此处阅读有关 liquibase 变更日志的更多信息。 根据您的问题,我认为您希望对数据库应用多个更改,这意味着您计划拥有多个具有目标数据库更改的变更集。要实现这一目标,您可以按照以下 2 种方式进行: 1。在单个变更日志文件中定义多个变更集 - 在这种方法中,您可以在更改日志文件本身中定义多个更改集,并且所有这些更改都应该被执行。 <?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.0.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-3.8.xsd"> <changeSet id="1" author="bob"> <comment>A sample change log</comment> <createTable/> </changeSet> <changeSet id="2" author="bob" runAlways="true"> <alterTable/> </changeSet> <changeSet id="3" author="alice" failOnError="false" dbms="oracle"> <alterTable/> </changeSet> <changeSet id="4" author="alice" failOnError="false" dbms="!oracle"> <alterTable/> </changeSet> </databaseChangeLog> 在此处阅读有关 liquibase 变更集的更多信息 2。在父变更日志文件中包含外部变更集的路径 - 在这种方法中,您可以创建一个单独的 changeset.xml 文件,其中包含要应用于数据库的更改,然后将 include 放入变更日志文件中,如下所示: <?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd" http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd"> <include file="com/example/news/news.changelog.sql"/> <include file="com/example/directory/directory.changelog.sql"/> </databaseChangeLog> 您还可以使用 includeAll 包含位于目录内的所有变更集,而不必专门包含每个变更集。阅读更多关于 includeAll 这里 和阅读更多关于 include tag 这里 据我了解,您有现有的变更日志,并且您想包含一些其他变更日志文件。您可以通过在当前变更日志文件的末尾添加以下条目来实现此目的: <include file="classpath:/path/to/changelog/additional-liquibase-changelog.xml"/>

回答 2 投票 0

执行 DBMS_AQADM 变更集失败 - 原因:liquibase.exception.DatabaseException:ORA-00900:无效的 SQL 语句

我在使用以下 Liquibase 变更集时遇到问题 - 更改集: 编号:25 作者:我的_用户 评论:“一些评论” 对象引用策略:遗留 始终运行:true 变化: - sql: 数据库管理系统:

回答 2 投票 0

使用 liquibase 和 PostgreSQL 从 CSV 导入数据时,有没有办法使用“覆盖系统值”

我正在使用 Liquibase 从 CSV 导入数据,并希望使用“覆盖系统值”选项导入值,这可能吗? - 加载数据: 表名:TABLE 文件:xyz.CSV 造成...

回答 1 投票 0

当 VPN 开启时,Liquibase 读取超时从本地主机更新到 Docker 容器中的数据库

我的设置 Windows10 上的 WSL1 乌班图20.04 全球保护 Docker 桌面 我已经设置了一个 postgresql docker 容器,并且能够从本地笔记本电脑登录数据库, 但是当我尝试运行 Liq 时...

回答 1 投票 0

无法获取 Liquibase 的 ChangeLogParser 的公共无参数构造函数

使用maven,我的pom.xml中有liquibase-core依赖项: org.liquibase liquibase 核心 <

回答 1 投票 0

如何使用maven从现有数据库生成美人鱼ERD图?

我想将 mermaid ERD 图添加到项目文档中,但它需要在架构更改时自动更新。 数据库模式是使用 liquibase 定义的,我使用 Maven 进行构建。

回答 1 投票 0

PL/SQL 和 SQL 脚本位于带有 liquibase 的一个 sqlFile 中?

我尝试了很多选项在房间changeSet/sqlFile 中运行,其中包含pl/sql 块和简单的sql 语句。例如。: 开始 aud.someProcedure('参数'); 结尾; / 插入 test_table(_id, va...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.