在 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
