【问题标题】:Change 32-bit PK to BIGINT on 32-bit rails app在 32 位 Rails 应用程序上将 32 位 PK 更改为 BIGINT
【发布时间】:2018-03-15 03:38:46
【问题描述】:

我有一个 Rails 3.2.18 应用程序在 32 位 Ubuntu 上运行,使用 MySQL 作为后端。我的一张表的 PK 是一个 32 位整数,并且最近已达到最大值。我知道您可以在 MySQL 中将 PK 从 int 更改为 BIGINT,MySQL 将处理转换。我的问题是 Ruby/Rails 是否能够处理新的、更大的 id 字段,因为它运行在 32 位平台上?

【问题讨论】:

    标签: mysql ruby-on-rails ruby ruby-on-rails-3 32bit-64bit


    【解决方案1】:

    INTBIGINT 的使用不受 32 位平台的限制,两者都完全支持。尽管出于多种原因使用 64 位操作系统是一个不错的计划,但这并不是硬性要求。

    创建迁移以调整列类型,您应该没问题,但请务必更新所有引用此特定 ID 值的列。换句话说,遵循任何has_many 类型关联,并确保它们也在使用BIGINT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2020-09-25
      • 2014-04-27
      • 2015-02-22
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      相关资源
      最近更新 更多