Liquibase数据类型映射文档



对不起,这个问题看起来很愚蠢,但我尝试了1个小时的搜索,没有找到任何内容。所以我对多个数据库(例如MSSQL、Oracle和MySQL)使用liquibase,当我说:

addColumn(tableName: "ABC_TEST") {
  column(name: "IS_ACTIVE", type: "boolean")
} 

如何知道"boolean"类型是否会转换为每个数据库的正确类型?我能找到任何关于数据类型映射的文档吗?如果我想再添加一列外键,我应该使用哪种类型?

勾选此问题(和答案),查看liquibase提供的可用类型。

在我对这个问题的回答中,有一个链接到相关的liquibase类,这些类将数据库特定的类型进行翻译。

当您创建的表具有"likibase类型"的主键时,likibase会将其转换为特定于db的类型。那么你的外键应该只使用相同的类型,liquibase会同样地翻译这个。

例如,检查类别BigIntType。使用liquibase时,您只需使用"liquibase类型":BIGINT。在Oracle数据库上,它将转换为("NUMBER", 38,0)。在MSSQL上,它将转换为("BIGINT")

Liquibase有一个数据库方言的概念,很像Hibernate。它使用这些来了解如何生成正确的DDL语句来添加/更改/删除列、外键等。当它连接到数据库时,它使用JDBC元数据来确定您使用的数据库类型,并使用它来确定正确的方言。

相关内容

  • 没有找到相关文章

最新更新