根据以下论坛的输入,指定了系统属性,并使用和设置了 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/