Postgresql liquibase:updateSQL不创建表架构前缀
我在postgres上使用以下参数运行Postgresql liquibase:updateSQL不创建表架构前缀,postgresql,liquibase,Postgresql,Liquibase,我在postgres上使用以下参数运行liquibase:updateSQL: changelogSchemaName online defaultCatalogName online defaultSchemaName online 它生成的SQL类似于createtableproduct,但我期望的是createtableonline.product 生成的SQL使用用户搜索路径,因此我需要修改数据库,然后才能使用liquibase:update 有没有办法解决这个问题?您是否使用了中描述
liquibase:updateSQL
:
changelogSchemaName online
defaultCatalogName online
defaultSchemaName online
它生成的SQL类似于createtableproduct
,但我期望的是createtableonline.product
生成的SQL使用用户搜索路径,因此我需要修改数据库,然后才能使用liquibase:update
有没有办法解决这个问题?您是否使用了中描述的catalogName属性 例如:
<changeSet author="liquibase-docs" id="createTable-example">
<createTable catalogName="online" tableName="product"
<column name="x" type="varchar(255)"/>
<column name="y" type="varchar(255)"/>
</createTable>
</changeSet>
使用outputDefaultCatalog=true
或outputDefaultSchema=true
maven参数。这将迫使生成的SQL包含默认模式,即使它未在变更集中指定。是的,我发现这几乎可以工作,但对于某些自定义SQL查询、存储过程等不起作用。但我想除此之外,没有更好的方法,所以我将其标记为正确。是的,liquibase不进行SQL解析,因此,存储过程和自定义查询中的任何内容都将作为传递。如果您希望将它们包括在内并进行更改,那么您可能希望在SQL中使用changelog参数