我有一个在 32 位 Ubuntu 上运行的 Rails 3.2.18 应用程序,使用 MySQL 作为后端。我的一张表的 PK 是一个 32 位整数,最近已经达到最大值。我知道你可以在 MySQL 中将 PK 从 int 更改为 BIGINT,MySQL 将处理转换。我的问题是 Ruby/Rails 是否能够处理新的、更大的 id
字段,因为它在 32 位平台上运行?
最佳答案
INT
或 BIGINT
的使用不受 32 位平台的限制,两者都完全支持。尽管出于多种原因,使用 64 位操作系统是一个不错的计划,但这并不是一个硬性要求。
创建一个迁移来调整列类型,应该没问题,但一定要更新引用此特定 ID 值的所有列。换句话说,遵循任何 has_many
类型关联,并确保它们也使用 BIGINT
。
关于mysql - 在 32 位 Rails 应用程序上将 32 位 PK 更改为 BIGINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46553082/