Skip to content

Composite Primary Keys support for Active Record

Notifications You must be signed in to change notification settings

OpenGov/composite_primary_keys

 
 

Repository files navigation

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!

About

Composite Primary Keys support for Active Record

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 84.6%
  • JavaScript 14.3%
  • CSS 1.1%