Liquibase generateChangeLog未输出架构



在编写用于创建表的changeSet时,可以指定表的模式(请参阅此处)

如果我运行

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。

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

只有generateChangeLog应首先包含架构信息时,才使用outputDefaultSchema。

请使用outputDefaultSchema=true。这将输出变更集中的架构名称。使用maven插件时,请使用<outputDefaultSchema>true</outputDefaultSchema>

相关内容

  • 没有找到相关文章

最新更新