3
當編寫一個變更創建表時,可以指定表的模式(見here)Liquibase generateChangeLog不輸出模式
如果我運行
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。
它似乎實際上需要'--includeCatalog = true';使用'--include-schema = true'不會輸出任何東西 – 2014-10-27 19:25:37
對不起。使用includeCatalog vs includeSchema取決於數據庫。我不確定h2是否在場。我將更新答案 – 2014-10-27 19:52:15
「--includeSchema = true」和「--includeCatalog = true」都不適用於我。但是'--outputDefaultSchema = true'確實有效 – 2016-01-19 11:38:30