liquibase 相关问题

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

Liquibase - 如何为现有数据库生成变更日志

我正在尝试使用 liquibase 来生成更改日志,首先对数据库的当前状态进行快照。 环境详情: 操作系统:Windows 7 32 x86, Java JDK 1.7, mysql jdbc 驱动程序来自

回答 4 投票 0

如何从 Liquibase 中的现有列添加具有默认值的新列

我正在使用 Postgres DB,对于迁移,我正在使用 Liquibase。 我有一个包含以下列的订单表: 身份证 |日期 |姓名 |创作者| ... 我需要添加一个新列来保存用途...

回答 3 投票 0

Liquibase 4.0 中删除了通过绝对路径指定文件

当我运行 Spring Boot 应用程序时,出现以下 liquibase 错误: Liquibase 4.0 中删除了通过绝对路径指定文件的功能。请使用相对路径或在类中添加“/”...

回答 7 投票 0

LiquibasegenerateChangeLog 失败:Java 堆空间

当我尝试从 DB2 数据库生成 SQL 数据时,遇到 Java 堆空间问题。大约有 25 个表,大约 1000 条记录。 我使用以下脚本生成变更集...

回答 2 投票 0

Liquibase 在测试执行后执行迁移

我在测试我的应用程序时遇到了非常奇怪的(对我来说)问题,收到此异常: 原因:liquibase.exception.MigrationFailedException:变更集 db/changelog/inse 迁移失败...

回答 1 投票 0

由以下原因引起:org.postgresql.util.PSQLException:错误:未选择在其中创建模式

我使用 PgAdmin 创建了一个新的数据库方案。但是当我使用 Liqudbase 依赖项启动 Spring Boot 应用程序时,出现此错误: 导致:liquibase.exception.DatabaseException:错误:没有架构...

回答 1 投票 0

检查唯一约束是否存在并使用 liquibase 将其删除

我有一个变更集,其中我最初检查唯一约束是否存在,然后如果存在,它将删除该约束。 我有一个变更集,其中我首先检查唯一约束是否存在,如果存在,则会删除该约束。 <changeSet author="loren" id="DROP_UNIQUE_CONSTRAINT_RULEPRIORITY_ORACLE_v1" dbms="oracle"> <preConditions onFail="MARK_RAN"> <sqlCheck expectedResult="1"> SELECT COUNT(*) FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME='UC_RULES_PRIORITY' </sqlCheck> </preConditions> <dropUniqueConstraint constraintName="UC_RULES_PRIORITY" schemaName="${main.schema}" tableName="RULES"/> </changeSet> 问题是它似乎没有通过前提条件。它总是说 MARK_RAN 意味着没有找到约束。反过来,约束永远不会被放弃。 我尝试在我的数据库中执行 SELECT 语句,它返回 1。 这是正确的方法还是有替代解决方案? 总结评论: <changeSet author="loren" id="DROP_UNIQUE_CONSTRAINT_RULEPRIORITY_ORACLE_v1" dbms="oracle"> <preConditions onFail="MARK_RAN"> <sqlCheck expectedResult="1"> SELECT COUNT(*) FROM all_constraints WHERE CONSTRAINT_NAME='UC_RULES_PRIORITY' AND OWNER='${main.schema}' </sqlCheck> </preConditions> <dropUniqueConstraint constraintName="UC_RULES_PRIORITY" schemaName="${main.schema}" tableName="RULES"/> </changeSet> @Loren:请调整和/或发布您自己的答案。

回答 1 投票 0

Liquibase“modifyDataType”标签始终使列可以为空

当我这样做时- 在 liquibase 中,它总是重置可为 null 的常量...

回答 2 投票 0

Liquibase插入脚本在使用h2数据库时不插入数据

使用 h2 数据库进行 Spring Boot 测试时,Liquibase 插入脚本不插入数据

回答 1 投票 0

如何读取liquibase变更日志中的环境变量

我正在更改集中执行 sql 查询,如下所示: 我正在更改集中执行 sql 查询,如下所示: <changeSet author="xxxxx" id="1682329977552-1" context="unittest"> <preConditions onFail="CONTINUE"> <sqlCheck expectedResult="1"> SELECT COUNT(*) FROM pg_roles WHERE rolname='myuser';</sqlCheck> </preConditions> <sqlFile dbms="!h2, oracle, mysql, postgresql" encoding="UTF-8" endDelimiter="\nGO" path="db_grants.sql" relativeToChangelogFile="true" splitStatements="true" stripComments="true"/> </changeSet> 如您所见,myuser是硬编码的,这是不可取的,我正在寻找一种从环境变量中读取该用户的方法,但想知道它是否可能。 我也在 db_grants.sql 中使用该用户,它向用户授予了一些访问权限: grant select on all tables in schema public to myuser; grant insert on all tables in schema public to myuser; grant delete on all tables in schema public to myuser; grant update on all tables in schema public to myuser; 值得一提的是,这些脚本在 openshift 集群环境上运行。 如 property-substitution 中所写,您可以使用 -D 前缀将属性传递给 liquibase 命令 CLI(或者您可以使用其他方法),因此类似 -Dproperty-name=somevalue 的内容,然后在您的 changeSet/sql 中将其用作 ${property-name} . cmd:liquibase update -Dpguser=myuser <changeSet author="xxxxx" id="1682329977552-1" context="unittest"> <preConditions onFail="CONTINUE"> <sqlCheck expectedResult="1"> SELECT COUNT(*) FROM pg_roles WHERE rolname='${pguser}';</sqlCheck> </preConditions> <sqlFile dbms="!h2, oracle, mysql, postgresql" encoding="UTF-8" endDelimiter="\nGO" path="db_grants.sql" relativeToChangelogFile="true" splitStatements="true" stripComments="true"/> </changeSet> grant select on all tables in schema public to ${pguser}; grant insert on all tables in schema public to ${pguser}; grant delete on all tables in schema public to ${pguser}; grant update on all tables in schema public to ${pguser};

回答 1 投票 0

如何正确删除使用Liquibase的数据库中的模式?

我有一个 Postgres 数据库,其中包含来自另一个 DWH 的外部架构,但最近这个原始架构已从那里删除。我们有 init.sql 文件,其内容如下(经过编辑以删除细节)...

回答 1 投票 0

在 Liquibase 4.16 脚本(SQL)上,无法在 mysql 8 上的自动增量列上设置值

我正在尝试在表中插入一些记录,定义如下: 创建表 `mytable` ( `key` int NOT NULL AUTO_INCREMENT, `字段` int NULL, 主键 (`key`)...

回答 0 投票 0

如何将对象导出到 Liquibase 中的给定位置

我已经安装了 Liquibase 版本:4.21.1 和 SQLcl 版本:23.1.0.089.0929 并在环境变量中设置“路径”,例如 C:\Program Files\liquibase D:\sqlcl 中 此外,它允许 m...

回答 1 投票 0

如何执行Set escape \;在液基中

有几个插入sql语句,里面有\。 最初,这些语句是为 sql 开发人员手动执行而编写的。 所以 SET ESCAPE ;会工作,插入脚本也...

回答 0 投票 0

跟踪哪些文件已被读取并加载到 db

用例: 应用程序启动后,它读取 json 文件映射它并将其保存为数据库中的行。 问题: 当应用程序重新启动时,我不想读取已读取的文件。不过,如果我添加新的 fi...

回答 1 投票 0

Liquibase Java API DBMS 不匹配

我正在尝试将 Liquibase 集成到 Java Spring 应用程序中,以根据从我的应用程序堆栈中的其他位置传入的连接字符串来管理数据库。基本上我有更新

回答 0 投票 0

Spring Boot - Hibernate Envers - Liquibase - @Audit aware <insert> statements possible?

我们的应用程序过去通过 liquibase 或 语句填充我们的配置表条目。 此配置表是一个 jpa 实体,并利用 hibernate-envers @Audit 功能...

回答 1 投票 0

如果上下文不匹配,则将 liquibase-changeSet 标记为运行

我用 liquibase 管理我的数据库模式,我也想用 liquibase 管理演示数据。现在我正在寻找将两者结合在一起的好策略。 我的计划是添加一个“演示数据&...

回答 1 投票 0

如何在 springboot 中为集成测试创建 liquibase 变更集?

我想要通过 liquibase 变更集进行集成测试的模拟数据,如何使它不影响真实数据库?我从这里找到了部分想法,但我正在使用 springboot,我希望有更简单的......

回答 3 投票 0

使用 Liquibase 图像的 MongoDB 的 Liquibase 异常

用例 使用 liquibase 对 Mongo DB 进行版本控制 问题 运行 liquibase 更新命令时出现以下异常 [2023-01-18 23:47:35] 严重 [liquibase.integration] 类 liquib...

回答 1 投票 0

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