Boa tarde pessoal.
Venho compartilhar um problema que estou enfrentando ao referenciar a Foreign Key com uma tabela Federated.
Pois bem, tenho uma tabela criada normalmente na Engine InnoDB, onde ao qual nesta tabela necessito referenciar varios campos atraves de Foreign Key, mas que esta referenciacao sera com uma segunda tabela e que a mesma é do Engine Federated.
Quando confirmo a operacao, me retorna erro 150. já fiz varias pesquisas mas não consegui encontrar solucao para meu problema.
Bom, nesta altura, devem estar perguntando, é necessario este cenario.
Resposta: Sim, é necessario pois tenho e terei um cenario de balanceamento de carga e multiplos servidores, onde cada um terah um cenario diferenciado, e para que não tenha replicacao de cadastros, tenho um servidor exclusivo e muito mais seguro, onde ficarao os cadastros de parametrizacao, dados dos clientes. Os demais servidores, farao chaveamento com este principal, e é neste momento que entra a tabela Federated com a Foreign Key.
Ex basico e ilustrativo:
ALTER TABLE `helpdesk`.`sis_protocolos`
ADD CONSTRAINT `fk_protocolos_databases`
FOREIGN KEY (`cd_database`)
REFERENCES `helpdesk`.`federado_sis_databases` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
CREATE TABLE federado_sis_databases (
id INT NOT NULL AUTO_INCREMENT,
ds_database VARCHAR(15) NOT NULL,
in_status INT NOT NULL DEFAULT '1',
PRIMARY KEY (id)
)
ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='federado_administrativo/sis_databases';
Obrigado pela ajuda.