我针对Postgres 12使用liquibase-3.8.2。我以前的列定义为:
<column name="ID" type="serial">
<constraints nullable="false" primaryKey="true" />
</column>
它在DB中得到尊重。从3.6.2升级到3.8.2后,生成的列将创建为int4而不是遵循以下串行定义。这是一个巨大的变化,很难理解问题的根本原因。这是故意改变吗?我在https://www.liquibase.org/documentation/column.html找不到任何重大变化。
在mysql中,我们可以将列定义为:
<column name="id" autoIncrement="true" type="integer">
<constraints nullable="false" primaryKey="true" />
</column>
但是对于PostgresSQL 12则不起作用。使其起作用的唯一方法是坚持使用3.6.3并键入为serial。