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

database - 数据库差异工具

作为使用 JPA/Hibernate 的 Java 开发人员,我正在寻找一个有助于区分 Hibernate 生成的数据库与生产数据库的方法。

我已经看过 LiquiBase 的能力LiquiBase非常好......不幸的是它被一些奇怪的错误所困扰:

  • 无缘无故地重新创建外键
  • 无缘无故地重新创建索引

我不完全确定与规范不一致的 JDBC 驱动程序实现是 Liquibase 的错。如果我什至尝试推出自己的问题,我可能会受到同样的问题的困扰。

我正在寻找一种非基于 Java 的解决方案,它支持:

  • MySQL
  • PostgreSQL
  • 甲骨文
  • DB2
0 投票
2 回答
787 浏览

liquibase - 使用不同的代理运行 liquibase 时出现问题

我需要通过 ant 和 spring 执行相同的 db-changelog。我希望 ant 会运行更新日志,当 spring 运行时,它不会做任何事情,只是正常停止。Ant 成功运行 db-changelog,然后 spring 运行,但它抛出异常,这是堆栈跟踪的一部分:

原因:liquibase.exception.JDBCException:执行 SQL CREATE TABLE 操作时出错(action_id int8 NOT NULL,action_name VARCHAR(255),version_no int8,reason_required BOOLEAN,comment_required BOOLEAN,step_id int8,CONSTRAINT action_pkey PRIMARY KEY (action_id)):原因:执行 SQL CREATE TABLE 操作时出错(action_id int8 NOT NULL,action_name VARCHAR(255),version_no int8,reason_required BOOLEAN,comment_required BOOLEAN,step_id int8,CONSTRAINT action_pkey PRIMARY KEY (action_id)):原因:错误:关系“操作”已经存在; 嵌套异常是 org.springframework.beans.factory.BeanCreationException....

任何帮助将不胜感激。

问候,

0 投票
1 回答
3468 浏览

java - Liquibase diff 在表名上使用错误的大小写生成变更集

我正在使用 LiquiBase 在远程 mysql 数据库上执行差异,并发现生成的变更集使用了不正确的表名大小写(全部小写)。这随后会导致更新失败。

  • Liquibase v1.9.5
  • 数据库:MySQL
  • 本地操作系统:Windows 7
  • 远程操作系统:Ubuntu

我做错了什么,还是这是一个错误?

这是我的差异任务:

这会生成(在其他条目中):

针对此变更集运行更新会导致以下情况:

实际的表名是“Project”。如果我修改 changeEntry 以使用正确的大小写,它就可以工作。

有关如何使其正常工作的任何建议?

问候

马蒂

0 投票
1 回答
2791 浏览

rollback - 带有 sqlFile 标记的 liquibase 未来回滚错误:找不到文件

我已将 future-rollback 标记添加到我的 ant 脚本中。我想要做的(我认为future-rollback 是我正在寻找的)是生成一个sql 回滚脚本,但不执行它(回滚脚本必须与sql 脚本一起交付是我客户的要求)。

我的变更日志文件有许多变更集,其中一些包含 <sqlFile>标签。

例如:

<databaseChangeLog ...>

<include file="latest/somesqlprocedure.xml" relativeToChangelogFile="true"/>

</databaseChangelog...>

latest/somesqlprocedure.xmlsqlFile标签的地方。

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">

<sqlFile path="${changelog.dir}/latest/myprocedure.sql" splitStatements="false" />

</changeSet>

</databaseChangeLog>

当我运行 ant 脚本时,出现以下错误

liquibase.exception.ChangeLogParseException:无效的迁移文件:<sqlfile path=${changelog.dir}/latest/myprocedure.sql> -找不到文件

有谁知道发生了什么?

这是 build.xml 文件的片段

提前致谢。

0 投票
4 回答
3490 浏览

oracle - Liquibase - 在一个文件中上传多个 Oracle 触发器

我有许多 Oracle 触发器存储在我们使用 sqlplus 上传到数据库的文件中。我们想使用 liquibase 来管理它,但我真的不想将触发器拆分为单独的文件。该文件如下所示:

我试过了

但它似乎仍然试图分裂';'。如果我将 splitStatements 更改为 false。然后它会忽略“/”并将所有内容都包含为无效的单个触发器。有任何想法吗?

TIA。

0 投票
1 回答
1554 浏览

eclipse - 带有 SVN 的 Liquibase - Eclipse 中的 PHP/MySQL 项目

今天我发现了LiquiBase项目,我认为它很有趣。我想使用它,但我正在寻找最好的方法。

我们正在与PHP项目和SVN(一些开发人员)一起使用一台MySQL服务器。

我想知道如何使用 LiquiBase:

  • 我们是否也应该将其 changeLog 存储在 SVN 中?
  • 如何编辑这个 changeLog ?IDE有吗Linux?插件Eclipse不可用。
  • 任何提交后脚本来应用更改?LiquiBase 的错误日志呢?

感谢您的任何建议!

0 投票
4 回答
1453 浏览

java - Java SQL 数据库独立性

由于各种原因,我一直在寻找 Hibernate 的替代方案。我遇到了 Liquibase,我喜欢这个想法,所以我愿意尝试。Liquibase 将以独立于 SQL 的方式满足数据库创建/修改的需要。我的主要问题是我的应用程序中的代码如何在不依赖数据库的情况下执行 SQL 语句?是否有其他项目类似于 Hibernates 方言类?

谢谢,

保罗

0 投票
2 回答
3545 浏览

liquibase - 在 postgres 中使用 liquibase 制作不区分大小写的表

有没有人知道如何用 liquibase 制作不区分大小写的表格。我正在使用最新的 postgres。例如 liquibase 以这种方式创建表:

p>

但是如何使 liquibase 以这种方式创建表:

p>

0 投票
1 回答
2335 浏览

java - Liquibase diffChangeLog 针对 Hibernate 映射定义

这个问题与“ Hibernate using JPA (annotated Entities) and liquibase ”有关。

我实际上想知道在针对 Hibernate 映射定义进行 Liquibase 差异时会发生什么。

它似乎产生了什么:将我的休眠映射状态迁移到数据库的当前映像的 liquibase 更改日志。

我所希望的:迁移现有(旧)数据库以反映我的(新)休眠映射中的更改的 liquibase 更改日志。

我期待错了吗?还是我做错了什么?

谢谢你让我知道!J。

0 投票
1 回答
1166 浏览

java - Liquibase,“迁移失败:Java 堆空间”错误时 generateChangeLog 与“数据”

我正在尝试使用 liquibase 在我的一个开发数据库上创建一个基线,这是我的环境 - 数据库 -> Oralce 10g,有 500 多个包含大量配置数据的表,oracle 导出转储文件约为 70mb;- Java - Java 6 - Oracle JDBC 驱动程序 - ojdbc14.jar(从 Oracle 网站下载) - 命令行执行 liquibase --changeLogFile=base.changelog.data.xml --diffTypes="data" generateChangeLog

执行结果: - Liquibase 配置为使用“-Xmx512m -Xms256m”jvm 参数运行,失败,错误消息 -“迁移失败:Java 堆空间” - 配置为使用“-Xmx1024m -Xms512m”运行,发生同样的错误 - 配置为使用“-Xmx2048 -Xms512m”运行,同样的错误

我还有哪些其他选择可以为我的开发项目创建基线,以便我们可以开始版本控制我们的数据库。

感谢您的建议,谢谢!

詹姆士