/composite_primary_keys

Composite Primary Keys support for Active Record

Primary LanguageRuby

Composite Primary Keys for ActiveRecords

Summary

ActiveRecords/Rails famously doesn’t support composite primary keys. This RubyGem extends the activerecord gem to provide CPK support.

Installation

gem install composite_primary_keys

Usage

require 'composite_primary_keys'
class ProductVariation < ActiveRecord::Base
  self.primary_keys = :product_id, :variation_seq
end
pv = ProductVariation.find(345, 12)

Factories

class ModelWithCompositeKeys < ActiveRecord::Base
  set_primary_keys :id, :updated_at
end
FactoryGirl.define do
  factory :model_with_composite_keys do
    sequence( :id ) { |n| [n,Time.now] }
    name "Brett"
  end
end

It even supports composite foreign keys for associations.

See compositekeys.rubyforge.org for more.

Running Tests

See test/README_tests.rdoc

Url

compositekeys.rubyforge.org

Questions, Discussion and Contributions

groups.google.com/group/compositekeys

Author

Written by Dr Nic Williams, drnicwilliams@gmail. Contributions by many!