当前位置:  开发笔记 > 后端 > 正文

Rails - MySQL自动增量id列类型更改

如何解决《Rails-MySQL自动增量id列类型更改》经验,为你挑选了1个好方法。

我有一个有很多模型和数据库表的rails网站.在所有这些中,我想将:id主键列更改为bigint而不是int,因为它将跨越MySQL的整数int(11)限制.

我不想使用他们建议我们做的其他帖子中建议的方法:id => false,同时创建表并添加自定义列:id指定大小.

我已经有很多数据,我不希望id列ids也改变,因为我正在使用它为一些has_many belongs_to关系,并可以打破所有链接.

请建议我如何将int(11)中的change_column id更改为bigint,而无需重新创建表和/或丢失数据和id值



1> 小智..:

别忘了auto_increment: true.

class NameOfYourMigration < ActiveRecord::Migration
  def up
    change_column :table_name, :id, :integer, limit: 8, auto_increment: true
  end

  def down
    change_column :table_name, :id, :integer, auto_increment: true
  end
end


忘记了'auto_increment` =痛苦的世界.
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有