问题标签 [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 投票
2 回答
875 浏览

maven-2 - Maven 2、Liquibase 和 dbDoc

我想生成 liquibase 的 dbdoc 作为我的 maven 站点构建的一部分,但我不知道如何做到这一点。我的想法是将 maven-antrun-plugin 添加到 pom 的报告部分,但我不能在报告部分的插件下有一个节点。有任何想法吗?

0 投票
4 回答
4800 浏览

oracle - 将整个 Oracle DB 导出为 SQL 脚本的任何工具

这是我的问题,我想在我们的开发数据库(Oracle 10g)上创建一个基线,并检查我们的 svn 进行版本控制,之后我们将使用 liquibase 来帮助我们管理增量数据库更改。

我的问题是我应该如何创建 Oracle 10g 的基线?数据库现在包含 500 多个表,包含大量配置数据,我希望我的数据库基线基于一组 SQL 脚本来检查颠覆,而不是检查 Oracle 转储。

我尝试使用 liquibase generateChangeLog,但它有一些性能问题.. 任何人都可以向我推荐任何可以帮助我的工具 1. 扫描任何 Oracle 模式 2. 生成一组 SQL 脚本(带有表结构和数据)..

提前致谢

詹姆士!

0 投票
1 回答
6959 浏览

database - 如何在带有 svn 的 maven 项目中实际使用 liquibase

上周,我阅读了有关 liquibase 快速入门和所有相关教程的信息,但我觉得我并没有完全了解使用它来连续更改数据库,而且我还有一些问题尚未解决。

我正在使用带有 3 个模块的 maven 在 netbeans 中开发应用程序:dbunit 模块、服务模块和 webapp 模块。您可能已经猜到 dbunit 负责数据库的工作,服务在它之上,而 webapp 使用 services.so父 pom 声明了所有 jars 和插件的所有 groupids、artifactids 和版本。

我设法从命令行生成更改日志文件,因为数据库已经存在并且假设我使用 liquibase maven 插件正确设置了所有内容:

问题 1: liquibase 的目标是什么,因为我现在正在做任何数据库更改?

问题 2:如果我想向数据库中添加一个新表,我是否会将这个新的 changeSet 添加到同一个 changelog 文件中,还是必须创建一个新的 changelog.xml 文件?

问题 3:我相信当 dbunit 运行时它会运行变更集,但是是否有必要将插件添加到 webapp 模块(也许在使用货物插件部署之前运行 liquibase 目标)或者 dbunit 会处理这个问题?

问题 4:subversion 究竟有助于保持变更日志的状态(假设只有一个变更日志引用问题 2)

感谢您阅读本文并为您提供帮助。

0 投票
1 回答
8194 浏览

java - 如何使用插入语句生成 liquibase 更改日志

我正在使用 liquibase 库,我想模拟使用现有数据库。所以从命令行我设法生成了更改日志,我想知道是否可以为表内的数据生成插入语句?

感谢您阅读本文。

0 投票
1 回答
1783 浏览

java - Liquibase:如何在 EntityManager 构建之前执行 Servlet Listener

我设法发出Liquibase 更新,如Liquibase Servlet Listener中所述。

这有效地执行了我的变更日志。

但是,这发生设置 EntityManager 之后。显然,如果我希望我的 Persistence 提供程序验证数据库模式,则为时已晚:

...这些表根本不存在。

有没有办法让 Liquibase 在初始化 EntityManager之前更新数据库模式?

PS:AppServer是JBoss6

==========================[更新]====================== =====

根据下面与 Nathan 的简短讨论,我可能不得不将问题重新表述如下:

在 EntityManager 初始化之前,有人知道 JBoss 启动序列中的代码挂钩吗?

如果存在,我可以将 Liquibase 更新逻辑移动到那个地方吗?

0 投票
1 回答
2253 浏览

java - Liquibase 回滚自定义 SQL

我不知道如何在变更集中回滚自定义 Sql。有什么想法吗?

我想这样做:

或者可能是这样的:

谢谢您的帮助。

0 投票
1 回答
3093 浏览

java - hibernate hbm2ddl create 是否有任何 liquibase 问题?

我在使用 liquibase 和 hibernate 时遇到了一个小问题。我希望 hibernate 在 hbm2ddl 设置为创建时创建架构,然后让 liquibase 使用 sql 脚本文件填充数据库。
我注意到,在验证时它的行为与描述和创建时不同,尤其是在使用 hsqldb(在内存中)的测试环境中。那时我似乎是盲目的。

有没有办法让我预期的与 hsqldb 一起工作,就像在 hibernate 创建它之后填充数据库一样。感谢您阅读本文。

0 投票
1 回答
997 浏览

java - 使用 hsqldb 命名 liquibase 表时出错(在内存中)。需要解决方法

我在一个项目上使用 liquibase,我才意识到是什么让我的构建失败。我已经成功地使用命令行 generateChangeLog 针对 mysql 中的相同模式并将该文件包含在我的主更改日志文件中。

对于测试环境,我使用 hsqldb。现在所有表名都是连字符与语言分开的。由于我的构建失败,我打开了 mydb.script,所有连字符分隔的表名都是大写的,但语言看起来像这样

在更改日志文件中,它们看起来像这样

您可以注意到它们在更改日志文件中都是小写字母。我尝试将更改日志语言更改为大写,而在脚本中它是大写的,只是它仍然有双引号。:(

如何解决这个问题?谢谢阅读。

0 投票
3 回答
9099 浏览

java - 不知道它的名称的 Liquibase 丢弃约束

我们使用 liquibase 来跟踪我们的数据库更改。第一个 changeSet 包含这些行:

基本上,这意味着 SHORT_ID 列具有唯一约束,但该约束的名称可以是任何名称,并且每次通常都不同(我们针对 H2 数据库运行一些集成测试,并且每次运行测试时都会创建新的基础)

所以.. 问题是:我无法更改第一个 changeSet 但现在我们必须摆脱这个独特的约束。有什么想法可以通过使用 liquibase 来实现吗?

0 投票
3 回答
1218 浏览

hibernate - Hibernate 二级缓存 EhCache 库不匹配?

我正在使用 Hibernate 3.5.0、JBoss AS 6 和 Liquibase 1.9.5。

我想激活EhCache Hibernate二级缓存如下:

我做的第一件事是向pom.xml添加一个新的依赖项:

现在,当我重新部署我的应用程序时,会引发以下异常:

请注意,我还没有激活persistence.xml中的缓存(!)

这会给某人敲响警钟吗?任何线索都非常受欢迎。

谢谢!