Liquibase GenerateChangeLog 在变更日志文件中不包含 schemaName

Liquibase GenerateChangeLog doesnt include schemaName in the changelog file

我正在使用以下命令生成更改日志

liquibase --schemas=test_schema --changelog-file=changelog.xml generateChangeLog

我的 liquibase.properties 文件如下:

url: jdbc:postgresql://xx.xxx.xx.xx:5432/test_db
driver: org.postgresql.Driver
username: testuser
password: test
logFile: liquibase.log
logLevel: debug
defaultSchemaName= test_schema
outputDefaultSchema= true

changelog.xml 中的输出没有 schemaName,我的数据库中有多个模式,所以我也需要更新日志中的 schemaname。

输出:

<changeSet author="user1 (generated)" id="xxxxxxxxxxxxx-1">
        <createTable tableName="hello_world">
            <column name="msg" type="CHAR(60)"/>
        </createTable>
    </changeSet>

应该是test_schema.hello_world或者应该定义schemaname。对我做错了什么有什么建议吗?

根据此 doc--schemas=<name1, name2> 指定了您要包含的数据库架构。您可能想要列出要包含的模式。或者您可以简单地使用 liquibase --changeLogFile=dbchangelog.xml generateChangeLog 命令。

尝试将 currentSchema= 附加到您的数据库 url

例如 命令行:

--url="jdbc:postgresql://DB_HOST:DB_PORT/DB_NAME?currentSchema=SCHEMA_NAME"

liquibase.properties

url="jdbc:postgresql://DB_HOST:DB_PORT/DB_NAME?currentSchema=SCHEMA_NAME"

然后打电话

liquibase <other command line params not part of liquibae.properties> generateChangeLog