簡體   English   中英

Rails:如何使用BIGINT作為主鍵

[英]Rails: How to use BIGINT as Primary Key

我已經閱讀了很多文章,討論了如何在Rails中使用BIGINT作為主鍵,但是似乎所有這些都已過時。

如何將BIGINT用作主鍵,最好僅在全局范圍內進行設置。 (我知道性能上的差異)

我嘗試過的事情:

如果您的應用程序本機內置在rails '>= 5.1' ,則您的主鍵應該已經是BIGINT “本機構建”是指您的遷移最初是使用該Rails版本運行的(與在<5.1中運行它們,然后在以后更新gem相對)

如果它們還不是BIGINT ,則可以使用以下源代碼中的遷移操作,為方便起見,將其粘貼在此處:

change_column :your_table_name, :id, :bigint

資料來源: http : //www.mccartie.com/2016/12/05/rails-5.1.html

您是否在遷移文件中嘗試過此代碼?

  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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM