linux - 自定义 Liquibase 控制表(DATABASECHANGELOG 和 DATABAEECHANGELOGLOCK)

标签 linux oracle liquibase

根据以下论坛的输入,指定了系统属性,并使用和设置了 DATABASECHANGELOG 和 DATABASECHANGELOGLOCK 表的自定义名称(在执行 liquibase 更新时)。 http://forum.liquibase.org/topic/configurable-databasechangelog-table-name

Liquibase version-3.5.1, Database-Oracle 12c, OS-Redhat Linux

但是,在随后尝试执行 future 的 liquibase 更新(针对相同的数据库架构)时,执行失败,因为它试图再次重新创建自定义的 DATABASECHANGELOG 表 - 失败,对象名称已在使用中。尝试使用标准 liquibase 控制表名称(即 DATABASECHANGELOG 和 DATABASECHANGELOCK)时不会发生这种情况

是否可以选择跳过自定义 liquibase 控制表的重新创建或针对此问题的其他修复?

最佳答案

为什么要将这些设置为系统属性?

您可以像下面这样调用 liquibase(或属性文件中定义的这些参数):

liquibase <regular arguments > --liquibaseSchemaName=YOUR_SCHEMA \
     --databaseChangeLogTableName=YOUR_DBCHANGELOG \
     --databaseChangeLogLockTableName=YOUR_DBCHANGELOGLOCK ....

它适用于我们(liquibase 3.5.1、Oracle 12c)。

谢谢

关于linux - 自定义 Liquibase 控制表(DATABASECHANGELOG 和 DATABAEECHANGELOGLOCK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42876708/

相关文章:

java - Oracle 11.2 java 存储过程中的 SimpleDateFormat

java - Liquibase liquibase.exception.ValidationFailedException : Validation Failed:

linux - 迭代打印每个子文件夹的文件数

python - 执行任务并在任务完成后关闭的 Shell 脚本

sql - SQL 查询 : possibly using CASE WHEN 中的复杂排序

c# - 使用 Entity Framework 的 Oracle 查询速度慢得离谱

mysql - 在 Ubuntu 中运行 liquibase 脚本后出现错误,但在 Windows 中工作正常

java - 如果 yml 文件不存在,则在 mysql 中创建数据库时出错

linux - 在 Homebrew 软件中,我怎么知道 xargs 属于 findutil 包?

linux - 使用 awk 或 sed 提取两者中的详细信息