Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql liquibase:updateSQL不创建表架构前缀_Postgresql_Liquibase - Fatal编程技术网

Postgresql liquibase:updateSQL不创建表架构前缀

Postgresql liquibase:updateSQL不创建表架构前缀,postgresql,liquibase,Postgresql,Liquibase,我在postgres上使用以下参数运行liquibase:updateSQL: changelogSchemaName online defaultCatalogName online defaultSchemaName online 它生成的SQL类似于createtableproduct,但我期望的是createtableonline.product 生成的SQL使用用户搜索路径,因此我需要修改数据库,然后才能使用liquibase:update 有没有办法解决这个问题?您是否使用了中描述

我在postgres上使用以下参数运行
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参数