问题标签 [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.
maven - 在特定变更集上运行 mvn liquibase:updateSQL
经验丰富的 maven 用户可能会在这里帮助我:
当作为 Maven 目标运行时,如何将“可选参数”传递给 liquibase?
我想传入“changesToApply”,见http://www.liquibase.org/manual/maven_updatesql
但是语法是什么?像这样,但不完全是:
sql - 使用 Liquibase,使用独特的并使用有一个独特的约束?
Liquibase 有两种方法可以将列定义为唯一的:
创建表时,
/li><constraints>
在列上使用:创建表后,使用
/li><createIndex>
:
对于单列唯一键,这两种方法之间有什么区别吗?
在我自己对 MySQL 的观察中,似乎没有区别。两个声明(上面)产生相同的SHOW CREATE TABLE
结果:
但是,这是否适用于所有数据库实现,或者是否会为不同的数据库<createIndex unique="true">
生成不同的模式输出<constraint unique="true"/>
?
背景:我有一个脚本,它直接从代码中的关系模型构建了 liquibase 更改日志。如果模型指示列是唯一的,则生成脚本会创建 BOTH 声明。我正在清理生成的结果,并想删除其中一个声明,并想知道这是否合适。
grails - 迁移文件中所有额外的垃圾是什么?
我今天开始测试 grails 数据库迁移插件。我与域进行了初始同步,然后基于运行 diff 命令创建了一个新的更改日志。这应该就像重命名列和(重新)将索引分配给该列一样简单。所以我希望看到以下...
这一切都很好。但是,我也看到很多与我的更改无关的 dropIndex 和 createIndex 块。有谁知道为什么会这样?
migration - Liquibase 更改脚本中的属性
在 Liquibase SQL 文件中填写属性的最佳方法是什么?
我不想用它来指定表空间和模式之类的东西。理想情况下,它将使用 Liquibase 在运行时完成,但 Maven 过滤也可能是一种选择。
liquibase - 如何在 linux 系统上运行 liquibase
我在 Linux 上使用 Liquibase,有谁知道如何从 Linux 提示符逐步运行 datbasechangelog.xml 文件?databasechangelog 背后的想法是什么以及它是如何工作的?
sql-server-2008 - 有没有办法为 Liquibase 的“generateChangeLog”命令指定多个 SQL Server 2008 架构?
我目前有一个包含以下内容的批处理文件,用于从我已经存在的数据库的表和存储过程中生成 Liquibase 更改日志:
Liquibase 的“generateChangeLog”命令可以在单个命令中为多个模式生成所有更改日志信息,而不是为每个模式创建单独的文件。
我已经尝试过使用逗号分隔的列表,但没有奏效。
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。
liquibase - 如何跳过 liquibase 中的特定重构命令?
我们有几个 liquibase 脚本,其中包含许多我们不想自动执行的自定义 sql 查询。
我们想知道是否存在跳过特定重构命令的配置,如<sql>
或<dropTable>
。排除这些命令会很有帮助。
liquibase - 在现有架构上使用 liquibase
我已经阅读了有关如何从现有架构生成 changelog.xml 的信息。这很好,但我不想接触现有的系统,除非带来新的变化。我也有全新的系统,需要应用所有更改。
所以,我想让 liquibase 在现有系统上运行时仅从变更集 X 执行迁移。即该系统的数据库处于修订版 X-1(但没有 liquibase sys 表),并且我不希望应用任何先前的迁移。
非常感谢,帕特
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 ...