从 MySQL 中的现有表生成更改日志时,liquibase 如何处理自动递增的 PK?

Posted

技术标签:

【中文标题】从 MySQL 中的现有表生成更改日志时,liquibase 如何处理自动递增的 PK?【英文标题】:How does liquibase handle autoincremented PK's when generating changelogs from an existing table in MySQL? 【发布时间】:2012-07-13 17:16:05 【问题描述】:

我目前正在从 mysql 中的现有表生成 liquibase 更改日志。我将行的 id 设置为 PK 并将其设置为自动增量。由于测试/不同尝试将数据插入表中,id 不是从 1 开始的。

所以我的问题是,当从现有表生成更改日志时,liquibase 是否根据父表的 PK(生成 liquibase 的表)为子表定义主键?或者在另一个数据库上运行更改日志时,新表的主键是否会从 1 开始并自动递增,而不管父表中的 PK 是多少?

【问题讨论】:

【参考方案1】:

在 MySQL 中,auto_increment 由数据库而不是 Liquibase 处理。所以新数据库的行将从 1 开始。

【讨论】:

以上是关于从 MySQL 中的现有表生成更改日志时,liquibase 如何处理自动递增的 PK?的主要内容,如果未能解决你的问题,请参考以下文章

从现有 MySQL 数据库生成 ER 图,为 CakePHP 创建 [关闭]

从对象定义生成数据库表

如何为mysql中的现有表创建索引?

更改 MySQL db 的 character_set 和 collat​​ion 时是不是会影响现有索引

Laravel/lumen 5.2 从现有数据库生成迁移表

更新查询以根据不同表中的值更改一个表中列的现有值