Duda con relacion has_many_belong_to

hola lista, queria hacer una consulta, resulta que tengo una un modelo
que es empresa y resulta que empresa tiene una relacion N a M
(has_and_belongs_to_many) (con sigo misma)
las dudas que tengo son basicamente 2.
1- Como deberia hacer para que me lo tome el controlador dado que no
puedo tener 2 campos que se llamen igual en la tabla
empresas_empresas(id_empresas, id_ empresas)

2- En la migracion como puedo hacer para decirle a rake que los 2 campos
son clave primaria? aca dejo un ejemplo de como me quedo el codigo de la
migracion.

class CreaTablaEmpresaEmpresa < ActiveRecord::Migration
def self.up
create_table :empresas_empresas, :id => false do |t|
t.column :id_empresa, :integer, :null => true
t.column :id_emp, :integer, :null=>false
end

add_index(:empresas_empresas, :id_empresa, :id_emp, :unique =>

true)
end