He encontrado una nueva forma de que me permita crear las FK sin reducir el tamaño de las columnas.
Para ello, al crear la tabla hay que configurar las variables:
Código:
SET GLOBAL innodb_large_prefix=1;
SET GLOBAL innodb_file_format=barracuda;
y luego basta con añadir al final de la query de creación de la tabla:
ROW_FORMAT=DYNAMIC
Por ejemplo:
Código:
CREATE TABLE `dvaggregates`
(`aggregatekey` VARCHAR(256), `version` INT(4),
`profilemanager` INT(10), `customportletmode` VARCHAR(4000),
`customwindowstate` VARCHAR(4000), CONSTRAINT dvaggregates_PK
PRIMARY KEY (`aggregatekey`, `version`))
ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;