gpt4 book ai didi

Liquibase generateChangeLog 不输出架构

转载 作者:行者123 更新时间:2023-12-02 01:44:48 25 4
gpt4 key购买 nike

在编写用于创建表的 changeSet 时,您可以指定表的架构(参见 here )

如果我跑

liquibase generateChangeLog

输出不包含架构。

作为引用,这是我正在使用的 liquibase.properties 文件:

driver: org.h2.Driver
classpath: h2-1.4.181.jar
url: jdbc:h2:~/test.db
username: sa
password: sa
changeLogFile: baseline.xml
liquibaseCatalogName: LIQUIBASE
liquibaseSchemaName: BAR
defaultSchemaName: BAR
outputDefaultSchema: true
outputDefaultCatalog: true

其中一个表的输出:

<createTable tableName="PRODUCTS">
<column name="ID" type="INT(10)"/>
<column name="CODE" type="VARCHAR(10)"/>
<column name="PRICE" type="DECIMAL(9, 2)"/>
</createTable>

如果我手动编写此代码,我会包含架构:

<createTable schemaName="BAR" tableName="PRODUCTS">
<column name="ID" type="INT(10)"/>
<column name="CODE" type="VARCHAR(10)"/>
<column name="PRICE" type="DECIMAL(9, 2)"/>
</createTable>

这是设计使然吗?我同意事后使用 XSLT。

最佳答案

在 generateChangeLog 之后使用 --includeCatalog=true 标志。例如:liquibase generateChangeLog --includeCatalog=true

仅当 generateChangeLog 应首先包含模式信息时才使用 outputDefaultSchema。

关于Liquibase generateChangeLog 不输出架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26308533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com