You’ll need a plugin to support composite primary keys. Rails
won’t give you that. I would recommend designing without the need for
them. As would most other documentation on Rails will also advise.
You life will be much more pleasant. This is true for any object-
relational system. Object need to have identity. A simple integer PK
is the best way to give them that identity.
Rails generally uses InnoDB instead of MyISAM. I highly
recommended this myself!
BIGINT is not a supported type for standard migration code. Look
into using “execute” within your migration to define your table when
using database specific schemas. The “common” Rails migration code is
designed to be database agnostic so it support the most common
features that are available to all supported databases.