Re: crear primary key

El caso que puse era para una relación 1:1, pero bueno hagamos el caso
típico de que sea N:M:

Mi
relación: Productos <----N:M----> Valores

Mis tablas:
Productos (id, nombre_producto)
Valores (id, nombre_valor)

Y la tabla intermedia:
Productos_Valores (producto_id, valor_id)

Si hago la
migración:
def self_up
create_table :productos do |t|
t.column :nombre_producto, :string
end

create_table :valores do |t|
   t.column :nombre_valor, :string
end

create_table :productos_valores do |t|
   t.column :producto_id, :integer
   t.column :valor_id, :integer
end

end

def down_up
drop_table :productos
drop_table :valores
drop_table :productos_valores
end

A la tabla de productos y valores automáticamente se crea el campo id
como PK, pero en la intermedia productos_valores no se cómo hacer que
las claves sean producto_id y valor_id
Alguna sugerencia de cómo se hace? Gracias