Rails 3.1.1 : MySQL : composite keys

how can I rewrite the migration script to generate the composite keys
from an existing table


PRIMARY KEY (id),
KEY by_scheduled_sent_released
(scheduled_at,sent_at,released_at),
KEY by_account_uidl (account_id,unique_id),
KEY by_account_message (account_id,message_id),
KEY by_released_sent_received
(released_at,sent_at,received_at)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

is it true that Rails doesn’t support it ?

thanks fy feedback

Kad K. wrote in post #1034598:

how can I rewrite the migration script to generate the composite keys
from an existing table


PRIMARY KEY (id),
KEY by_scheduled_sent_released
(scheduled_at,sent_at,released_at),
KEY by_account_uidl (account_id,unique_id),
KEY by_account_message (account_id,message_id),
KEY by_released_sent_received
(released_at,sent_at,received_at)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

is it true that Rails doesn’t support it ?

It is true that ActiveRecord does not support composite keys, not
without help. Thankfully, there is a gem for that:

https://github.com/drnic/composite_primary_keys

Note: I have not used this gem and have no opinion about it one way or
the other. It is just the first one to come up in the Github search.

Thanks a lot Walter … I’ll have a look at it

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs