我已经阅读了很多文章,讨论如何在Rails中使用BIGINT
作为主键,但似乎所有文章都已过时。
如何将BIGINT用于我的主键,最好只在全局设置。 (我知道性能上的差异)
我尝试过的事情:
答案 0 :(得分:5)
如果您的应用是rails '>= 5.1'
原生内置的,那么您的主键应该已经是BIGINT
。通过"本地建造"我的意思是您的迁移最初是使用该Rails版本运行的(而不是在< 5.1中运行它们,然后再更新gem)
如果它们还不是BIGINT
,您可以使用以下源代码中的迁移操作,为方便起见粘贴在此处:
change_column :your_table_name, :id, :bigint
答案 1 :(得分:1)
您是否在迁移文件中尝试此代码?
def change
create_table :table_name, id: false do |t|
t.bigint :id, null: false
t.index :id, name: "pk_table_name", unique: true
end
end
在模特中:
class ModelName < ApplicationRecord
self.primary_key = :id
end