Liquibase generateChangeLog 不包括列长度 (MySQL)

Liquibase generateChangeLog not including column length (MySQL)

我正在使用 Liquibase 的 generateChangeLog 命令如下:

liquibase --driver=com.mysql.jdbc.Driver \
  --classpath=$HOME/.m2/repository/mysql/mysql-connector-java/5.1.26/mysql-connector-java-5.1.26.jar \
  --changeLogFile=./db.changelog.xml \
  --url="jdbc:mysql://localhost:3306/db" \
  generateChangeLog

输出 XML 没有所有列的列长度定义的更改日志。

示例:

<changeSet author="purecharger (generated)" id="1461081110463-2">
    <createTable tableName="account">
        <column name="id" type="BIGINT">
            <constraints nullable="false"/>
        </column>
        ...
    </createTable>
</changeSet>

列定义(片段):

Create Table: CREATE TABLE `account` (
  `id` bigint(20) NOT NULL,
  ...

为什么变更日志不包括长度,就像这样?

<column name="id" type="BIGINT(20)">
    <constraints nullable="false"/>
</column>

在MySQL中,BIGINT指定了space的8个字节,对于从-9223372036854775808到9223372036854775807的整数来说已经足够了。BIGINT(20)并没有真正的意义。 MySQL 慷慨地接受它。

此 MySQL 页面的完整详细信息:https://dev.mysql.com/doc/refman/5.5/en/integer-types.html