问题标签 [liquibase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1981 浏览

java - 在 Java 代码中运行 liquibase

我正在尝试在 Ant 的“updateDatabase”任务的 Java 代码模拟中执行:

首先,我找不到 updateDatabase 命令。我试过了:update, updateSQL,但我一直在得到:

我的 db.test.properties 文件是否有帮助:

我在属性文件中使用“:”符号作为分隔符,如liquibase.properties中所述

我究竟做错了什么?请帮忙。

0 投票
1 回答
839 浏览

java - liquibase 创建数据库后未启动测试

我正在使用 dbunit、junit、liquibase、hsqldb 测试数据源层。我正在使用 hsqldb 的内存状态。每次开始测试时,我都会通过命令行使用 liquibase 创建数据库结构:

在我可以看到的输出中,sql 脚本已成功执行:

但由于某种原因,我看不到System.out.println. 我在 IDEA 中开发。我Process finished with exit code 0.在调试窗口中看到,但同时我看到测试尚未终止。我想第一条消息与“主要”功能有关。

任何想法?

0 投票
3 回答
5464 浏览

hibernate - Liquibase:使用带 H2 数据库的 modifyDataType 重构将 INT 自动增量列更改为 BIGINT

我有一个主键列,它是一个 INT 列,我想将其更改为 BIGINT。我们的测试和生产环境使用 MySQL,但对于单元测试,我们使用嵌入式 H2 数据库。

我创建了以下 Liquibase 重构:

重构工作,但是当我尝试使用 Hibernate 将对象持久保存到数据库时,我收到以下错误消息(我已经包装了错误消息):

MyEvent 类继承自 AbstractBaseEvent,它在代码中定义了以下 Hibernate 映射:

几点:

  • 休眠映射在重构数据类型之前起作用
  • Liquibase 的版本是 2.0.1
  • 这是否适用于 MySQL 尚未经过测试
0 投票
1 回答
792 浏览

java - Maven关闭默认目标执行

我有下一个问题:我使用 liquibase maven 插件,默认情况下,当我制作 mvn clean package 时,它​​会删除所有表并更新它们。

但是,我想为所有 maven 阶段关闭此插件的执行,只有在执行 mvn liquibase:dropAll 或 mvn liquibase:update 时才需要它。我该怎么做?

0 投票
2 回答
4361 浏览

maven - 在 Maven 中使用 Liquibase 扩展

我正在尝试使用来自maven-liquibase-plugin 的Liquibase Oracle 扩展,但我无法让它工作。我对命令行中的相同 changeLog 文件没有任何问题,但在 Maven 中我收到以下错误消息

我正在使用的变更日志文件

这是一个 pom.xml 提取

我也尝试将 liquibase-oracle 添加为插件依赖项,但我收到相同的错误消息。

这是从 Maven 使用 Liquibase 扩展的正确方法吗?我错过了什么吗?

0 投票
1 回答
14203 浏览

ant - 使用 liquibase 比较数据库并生成 sql 脚本

我正在使用与 ant 集成的 liquibase 比较两个数据库。但它生成的输出就像通用格式。它没有给出 sql 语句。请谁能告诉我如何使用与 ant 或命令行实用程序集成的 liquibase 比较两个数据库。

0 投票
2 回答
2270 浏览

sql - 使用 oracle 11g 数据库的 sql 文件中的触发器不起作用

我对 Oracle 11g 和 Liquibase 有疑问。我一直在寻找一个好的答案。在我的 db-changelog.xml 中,我指向一个有触发器的 sql 文件。这根本不起作用。我已经用 /\; 测试了您上面所说的内容 和一个和几个触发器。我得到一个带有 / 的 ORA-00911。Ora-00900 带有 END “触发器名称”;在 sql 中。

我的解决方法是在 db-changelog.xml 中添加一个 in。我不喜欢它,因为 db-changelog.xml 会非常大,我希望它在 .sql 文件中而不是在 db-changelog.xml 中。当我们开发 Java 代码时,我们将对数据库进行大量更改。更改应该在更大的 sql 文件中。还是我在这里错了?

另一个问题是当我使用 Oracle SQL Developer、Toad、SQL Plus 等工具生成 DDL 时,它们不起作用。当我使用工具执行 DDL 时,它们就起作用了。很多 sql 不起作用,因为 Liquibase 可能不支持 SQL。我花了很多时间用 Eclipse 测试我的 SQL 和 Liquibase 来修复 SQL。任何提示或你会解决这个问题吗?

0 投票
2 回答
693 浏览

web-services - Flyway 和 Liquibase 通过 Soap、Rest 等 Web 服务调用

我已将 liquibase 和 flyway 与我的应用程序集成。两者都工作正常。两者都有其优点和缺点。现在我关心的是网络服务。Rest 和 Soap 可以与这些工具一起使用吗?如果是的话,你能详细说明一下吗???我需要将这些工具与 hudson 一起使用,并且可以使用 Rest & Soap 来调用 liquibase 或 flyway。提前致谢。

0 投票
1 回答
525 浏览

liquibase - liquibase db 迁移工具中的日志报告

我已经在我的应用程序中实现了 liquibase db 迁移框架。我正在运行这个框架的命令行工具。它工作正常。现在我需要从此工具生成的日志中报告成功或失败。

该错误可能与框架相关(例如,在命令行上指定错误的参数或指定错误的数据库等)以及与数据库相关的(例如,sql 查询中的语法错误,任何违反约束的错误)。有没有人知道如何生成该报告,如何获取日志等。

0 投票
1 回答
1104 浏览

mysql - Liquibase 更改日志不包含列位置或“AFTER column_name”

要为表更改生成数据库更改日志,我使用 Liquibase。但是 liquibase 更改日志不包含列名的特定位置。

以下更改集是通过 liquibase 生成的

假设如果我希望列在表中的revenue列之后,liquibase 不会记下 alter table 推荐中的 AFTER 子句。实际上,我不能用 liquibase 做到这一点。有解决的朋友吗?idrequest