Db2 控制在Z/Os上创建liquibase DATABASECHANGELOG表的位置

Db2 控制在Z/Os上创建liquibase DATABASECHANGELOG表的位置,db2,liquibase,Db2,Liquibase,我正在Z/Os上使用liquibase for DB2进行测试。我已经创建了几个在自己的表空间中运行的测试数据库。当我运行liquibase时,它会应用我的更改,但会在SYSDEFLT存储组中创建DATABASECHANGELOG表 是否可以指定创建databaseChangeLog表的位置?我们希望为它们指定一个用户数据库,而不是在SYSDEFLT存储组中创建它们。是的,您可以。你如何做到这一点取决于你如何经营liquibase 在命令行中,传递参数或在liquibase.properties

我正在Z/Os上使用liquibase for DB2进行测试。我已经创建了几个在自己的表空间中运行的测试数据库。当我运行liquibase时,它会应用我的更改,但会在SYSDEFLT存储组中创建DATABASECHANGELOG表


是否可以指定创建databaseChangeLog表的位置?我们希望为它们指定一个用户数据库,而不是在SYSDEFLT存储组中创建它们。

是的,您可以。你如何做到这一点取决于你如何经营liquibase

在命令行中,传递参数或在liquibase.properties文件中设置参数

属性是
liquibase.databaseChangeLogTableName
liquibase.databaseChangeLogLockTableName


如果您使用的是其他运行Liquibase的方法,情况也会类似。

您可以在第一次运行Liquibase之前手动创建这些表,然后您就可以完全控制数据的存储位置。我们在需要的位置手动创建表,这样就不会在系统目录中生成这些表,这似乎很好。我无法确定正确的命令行参数来控制我们在何处构建DATABASECHANGELOG表。这些属性似乎可以控制名称。我是否使用以下命令来更改位置?“对于3.x,有changelogCatalogName和changelogSchemaName属性,您可以在maven中使用它们来控制数据库changelog表的位置。”此外,听起来我必须将它们作为-D=。用于命令行执行,因为我没有使用maven。这是否正确?在与Z/os DBA的进一步对话中,她表示正在目录卷中创建表,并且希望能够指定数据库。她试图手动在正确的空间中创建表,但很好奇是否可以通过命令行创建表。在Z/os控制台中,它为自动生成的表显示正确的DB名称、正确的模式,但需要指定DB名称。如果您使用的是Maven,我认为您应该能够在POM中使用“-D=”语法或设置属性。我不明白你的第二个问题。我对Z/OS或Liquibase在该平台上的细节或内部工作一无所知。