我創建了一個與舊SQL數據庫通信的Rails應用程序,我需要設置primary_key。Rails 3.2.8 - 使用具有不同primary_key的遺留系統
Intially我這樣做:
class Post < ActiveRecord::Base
attr_accessible :body, :title, :incrementer_id
self.primary_key = "incrementer_id"
before_create :next_seq, on: :create
private
def next_seq
p = Post.last
self.incrementer_id = p.blank? ? 1 : (p.incrementer_id.to_i + 1)
end
end
我需要創建next_seq因爲Rails不自動增加 'incrementer_id'。
我必須進行三元化,因爲第一個項目的incrementer_id是零,並且它給出了錯誤。我很想避免每次都做這個檢查。
我不知道是否有一個最佳的方式來做next_seq。更好的是,使其與數據庫類型無關。
謝謝史蒂夫。我想要最大的方法,因爲它可以防止最後一個不是最大數量的問題。 我想進行池化,但我不知道遺留系統是如何工作的。基本上我的應用程序和另一個應用程序將觸摸分貝,我不知道其他系統如何處理primary_key計數。 – 2012-08-17 17:31:37