Composite Primary Keys


Is there any particular reason why AR does not support composite primary keys? This looks like a pretty nice feature to add.

Luís Ferreira

Because outside of people with ‘legacy schemas’ there’s not really a large number of compelling use cases that justify the additional complexity. It’s not just a matter of making find take two arguments, you also have to bake that support into all the associations etc.

On the whole, no one has felt particularly compelled to do the large amount of work when you can work around the limitation by just using a standard primary key with a unique index for your composite values.

You are right, I can probably achieve my goals with a unique index and a validates_uniqueness_of with :scope.

Thanks for the tip

Dr. Nic did it: