gpt4 book ai didi

mysql - LiquibasegenerateChangeLog 不包括列长度(MySQL)

转载 作者:行者123 更新时间:2023-11-29 11:35:11 25 4
gpt4 key购买 nike

我正在使用 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 指定 8 个字节的空间,这足以容纳从 -9223372036854775808 到 9223372036854775807 的整数。BIGINT(20) 实际上没有任何意义。 MySQL 很慷慨地接受了它。

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

关于mysql - LiquibasegenerateChangeLog 不包括列长度(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36723542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com