liquibase 相关问题

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

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

升级AWS RDS MySQL后出现ClassCastException

我们有一个Spring boot Web应用程序,其中spring boot版本是1.5.6。将 AWS MySQL RDS 从 5.7.0 升级到 8.0.28 后,我们收到 liquibase 错误。我已经升级了 MySQL 连接器

回答 1 投票 0

Liquibase 将 BIT 设置为默认 0

我在表格中添加以下列: 更改表 my_table 添加 no_default 位 null; 当我让 Liquibase 进行比较时,它会生成以下更改: 更改表 my_table 添加 no_default 位

回答 1 投票 0

使用 SQLcl 运行时将参数传递给 Liquibase 变更集

我使用 SQLcl + Liquibase 将更改部署到 Oracle 数据库。我有以下 YAML 格式的变更集(用于编译 utils_pkg 的包规范: - 变更集: id: ${changesetOwner}.

回答 1 投票 0

java.lang.NullPointerException:无法调用“java.sql.ResultSet.next()”,因为Liquibase maven liquibase中的“schemas”为空:diff

我尝试在 Hibernate 实体和 mysql 数据库上使用 mvn liquibase:diff 。构建因奇怪的异常而失败:无法调用“java.sql.ResultSet.next()”,因为“schemas”为空...

回答 1 投票 0

为什么我的回滚在 Liquibase 中不起作用?

我有一个 Spring Boot 应用程序,我正在尝试使用 Liquibase 测试一些迁移。我试图了解回滚功能是如何工作的,但我不断收到错误。 这是迁移文件: <...

回答 2 投票 0

向现有表添加不可空列失败。 “value”属性是否被忽略?

背景:我们有一个 Grails 1.3.7 应用程序,并使用 Liquibase 来管理我们的数据库迁移。 我正在尝试向不为空的现有表添加新列。 我的变更集看起来像...

回答 4 投票 0

在 Quarkus 中使用 Liquibase maven 插件生成 Liquibase diff 变更日志

我正在尝试使用 Quarkus 中的 Liquibase Maven 插件根据实体包中的实体生成 diff 更改日志。我注意到它需要 liquibase.propertie 中的referenceUrl...

回答 1 投票 0

无法调用“org.hibernate.mapping.PersistentClass.getTable()”,因为“classMapping”为空

我有一个实体“MasterSegment”,其组合键作为主键。该键引用了另一个实体“BkrApplication”。当我在没有 Liquibase 的情况下启动应用程序时,ta...

回答 1 投票 0

如何修复 liquibase 校验和中的 ValidationFailedException?

我正在使用 liquibase 和 spring boot。我有 SQL 变更集。我没有更改 liquibase SQL 脚本中的任何内容。但我遇到了以下错误 创建名为“liquibase”的 bean 时出错

回答 2 投票 0

使用 MongoDB 将标签添加到 Liquibase PRO 中的特定变更集

我有 数据库更改日志: - 更改集: id:add_game_interests 作者:蒂亚戈 运行:mongosh 变化: - 蒙戈文件: 数据库管理系统:

回答 1 投票 0

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