Estuve buscando por muchas partes esta tontera y al final lo encontré en un ejemplo que hice hace un tiempo.

CREATE TABLE `aros_acos` (
  `id` int(10) NOT NULL AUTO_INCREMENT,                               
  `aro_id` int(10) NOT NULL DEFAULT '0',                              
  `aco_id` int(10) NOT NULL DEFAULT '0',                              
  `_create` varchar(2) collate utf8_unicode_ci NOT NULL DEFAULT '0',  
  `_read` varchar(2) collate utf8_unicode_ci NOT NULL DEFAULT '0',    
  `_update` varchar(2) collate utf8_unicode_ci NOT NULL DEFAULT '0',  
  `_delete` varchar(2) collate utf8_unicode_ci NOT NULL DEFAULT '0',
  PRIMARY KEY  (`id`),                 
  UNIQUE KEY `ARO_ACO_KEY` (`aro_id`,`aco_id`)                        
)
 
CREATE TABLE `aros` (                                         
  `id` int(10) NOT NULL AUTO_INCREMENT,                       
  `parent_id` int(10) DEFAULT NULL,                           
  `model` varchar(255) collate utf8_unicode_ci DEFAULT NULL,
  `foreign_key` int(10) DEFAULT NULL,                    
  `alias` varchar(255) collate utf8_unicode_ci DEFAULT NULL,  
  `lft` int(10) DEFAULT NULL,         
  `rght` int(10) DEFAULT NULL,    
  PRIMARY KEY  (`id`)
)
 
CREATE TABLE `acos` (                                         
  `id` int(10) NOT NULL AUTO_INCREMENT,                       
  `parent_id` int(10) DEFAULT NULL,                           
  `model` varchar(255) collate utf8_unicode_ci DEFAULT NULL,  
  `foreign_key` int(10) DEFAULT NULL,                         
  `alias` varchar(255) collate utf8_unicode_ci DEFAULT NULL,  
  `lft` int(10) DEFAULT NULL,                                 
  `rght` int(10) DEFAULT NULL,                                
  PRIMARY KEY  (`id`)                                         
)