首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liquibase generateChangeLog不输出模式

Liquibase generateChangeLog不输出模式
EN

Stack Overflow用户
提问于 2014-10-11 05:48:31
回答 2查看 5.5K关注 0票数 3

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

如果我运行

代码语言:javascript
复制
liquibase generateChangeLog

输出不包括架构。

作为参考,下面是我使用的liquibase.properties文件:

代码语言:javascript
复制
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

其中一个表的输出:

代码语言:javascript
复制
<createTable tableName="PRODUCTS">
  <column name="ID" type="INT(10)"/>
  <column name="CODE" type="VARCHAR(10)"/>
  <column name="PRICE" type="DECIMAL(9, 2)"/>
</createTable>

如果我要手动编写这段代码,我会包含模式:

代码语言:javascript
复制
<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。

EN

回答 2

Stack Overflow用户

发布于 2014-10-23 04:19:38

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

只有当generateChangeLog应该首先包含模式信息时,才使用outputDefaultSchema。

票数 3
EN

Stack Overflow用户

发布于 2018-12-19 18:57:14

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26308533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档