在 ActiveRecord 上使用複合鍵存取傳統資料庫

發表於 2008-06-10 11:46:56| 分類: Ruby On Rails

因為工作上需要存取 oracle 資料庫,但表格內沒有 id 這個標準 ActiveRecord 要求的主鍵欄,找了許多的解決方案,目前採用的是 composite_primary_keys.gem 這個套件。

下載並安裝 gem 後,於 environment.rb 加入:

require 'composite_primary_keys'

於 Model 內下達:

set_primary_keys :key1, :key2
取代原有的
set_primary_key :key

同樣,如果根據複合鍵建立關連,可以參考以下的範例:

set_primary_keys :user_id, :group_id
class Membership < ActiveRecord::Base
  # set_primary_keys *keys - turns on composite key functionality
  belongs_to :user
  belongs_to :group
  has_many :statuses, :class_name => 'MembershipStatus', :foreign_key => [:user_id, :group_id]
end


發表回應

名稱:
電郵:
網站:
意見:
為防止廣告留言,請回答下面簡單的數學問題:
八加八等於