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

maven - 在特定变更集上运行 mvn liquibase:updateSQL

经验丰富的 maven 用户可能会在这里帮助我:

当作为 Maven 目标运行时,如何将“可选参数”传递给 liquibase?

我想传入“changesToApply”,见http://www.liquibase.org/manual/maven_updatesql

但是语法是什么?像这样,但不完全是:

0 投票
2 回答
12575 浏览

sql - 使用 Liquibase,使用独特的并使用有一个独特的约束?

Liquibase 有两种方法可以将列定义为唯一的:

  1. 创建表时,<constraints>在列上使用:

    /li>
  2. 创建表后,使用<createIndex>

    /li>

对于单列唯一键,这两种方法之间有什么区别吗?

在我自己对 MySQL 的观察中,似乎没有区别。两个声明(上面)产生相同的SHOW CREATE TABLE结果:

但是,这是否适用于所有数据库实现,或者是否会为不同的数据库<createIndex unique="true">生成不同的模式输出<constraint unique="true"/>

背景:我有一个脚本,它直接从代码中的关系模型构建了 liquibase 更改日志。如果模型指示列是唯一的,则生成脚本会创建 BOTH 声明。我正在清理生成的结果,并想删除其中一个声明,并想知道这是否合适。

0 投票
1 回答
236 浏览

grails - 迁移文件中所有额外的垃圾是什么?

我今天开始测试 grails 数据库迁移插件。我与域进行了初始同步,然后基于运行 diff 命令创建了一个新的更改日志。这应该就像重命名列和(重新)将索引分配给该列一样简单。所以我希望看到以下...

这一切都很好。但是,我也看到很多与我的更改无关的 dropIndex 和 createIndex 块。有谁知道为什么会这样?

0 投票
1 回答
1892 浏览

migration - Liquibase 更改脚本中的属性

在 Liquibase SQL 文件中填写属性的最佳方法是什么?

我不想用它来指定表空间和模式之类的东西。理想情况下,它将使用 Liquibase 在运行时完成,但 Maven 过滤也可能是一种选择。

0 投票
1 回答
4032 浏览

liquibase - 如何在 linux 系统上运行 liquibase

我在 Linux 上使用 Liquibase,有谁知道如何从 Linux 提示符逐步运行 datbasechangelog.xml 文件?databasechangelog 背后的想法是什么以及它是如何工作的?

0 投票
1 回答
687 浏览

sql-server-2008 - 有没有办法为 Liquibase 的“generateChangeLog”命令指定多个 SQL Server 2008 架构?

我目前有一个包含以下内容的批处理文件,用于从我已经存在的数据库的表和存储过程中生成 Liquibase 更改日志:

Liquibase 的“generateChangeLog”命令可以在单个命令中为多个模式生成所有更改日志信息,而不是为每个模式创建单独的文件。

我已经尝试过使用逗号分隔的列表,但没有奏效。

0 投票
1 回答
2412 浏览

mysql - 通过 liquibase 创建表时出现 MySQL 错误

我通过数据库迁移插件 0.2.1 使用 Grails 1.3.7 + MySQL 5.5 + Liquibase。

当我在我的开发环境中时,我将 Hibernate 配置为使用“create-drop”,但在我的 QA 环境中,我想使用 liquibase 来创建我的表。这是我的环境配置:

当我在开发模式下启动应用程序时,数据库表创建得很好。我执行以下操作来创建更改日志:

看起来像这样:

然后我尝试从更改日志中创建表:

但是,当我运行 dbm-update 时,我收到以下错误:

当我在 MySQL 中复制/粘贴 create 语句时,我得到了同样的错误。我什至把 ENGINE=InnoDB 关掉,看看是否有什么不同,但没有。有任何想法吗?

仅供参考:我在 Mac 上使用 HomeBrew 安装了 MySQL。

0 投票
1 回答
792 浏览

liquibase - 如何跳过 liquibase 中的特定重构命令?

我们有几个 liquibase 脚本,其中包含许多我们不想自动执行的自定义 sql 查询。
我们想知道是否存在跳过特定重构命令的配置,如<sql><dropTable>。排除这些命令会很有帮助。

0 投票
2 回答
8990 浏览

liquibase - 在现有架构上使用 liquibase

我已经阅读了有关如何从现有架构生成 changelog.xml 的信息。这很好,但我不想接触现有的系统,除非带来新的变化。我也有全新的系统,需要应用所有更改。

所以,我想让 liquibase 在现有系统上运行时仅从变更集 X 执行迁移。即该系统的数据库处于修订版 X-1(但没有 liquibase sys 表),并且我不希望应用任何先前的迁移。

非常感谢,帕特

0 投票
2 回答
5390 浏览

liquibase - liquibase changeSets 的错误 md5sum 失败

我们使用的是 liquibase 1.9.5,但我还没有将其视为该版本的已知错误。简短的故事是我们成功地为我们的 1.0 版本运行了 liquibase,但是在尝试运行具有额外变更集的 1.1 版本时,它错误地抱怨 1.0 变更集的 md5sums。

我们已经在短期内通过将 DATABASECHANGELOG 中的 md5sum 列清零来解决它,但我想知道我是否只是做错了什么。

我们按如下方式组织我们的 liquibase:我们在每次部署时运行一个主 .xml 文件,该文件仅包含针对我们软件的每个版本的单独文件的命令(以正确的顺序)

所以第一个版本只包含v1_0.xml,而我们刚刚推出的版本包含了我们上面的内容。

v1_0.xml 文件在不同版本之间没有变化,但在尝试为新版本调用 liquibase 时出现以下错误:

有问题的变更集:

引用的 foo-schema.sql 文件在版本之间也没有变化。(它为我们完成了整个数据库模式的初始创建,然后包括前提条件中提到的“some_table”。)

我希望 liquibase 不希望我们手动将 validCheckSum 元素添加到版本之间的每个 changeSet ...