-- Jonathan Fernando
-- 2019-04-15

-- Desativa as Foreign Keys
SET FOREIGN_KEY_CHECKS=0;

-- Altera o tamanho do campo na tabela RASTREADOR
ALTER TABLE `rastreador` 
CHANGE COLUMN `codigo` `codigo` VARCHAR(20) NOT NULL;


-- Altera FK da tabela RASTREIO
ALTER TABLE `rastreio` 
DROP FOREIGN KEY `fk_rastreio_rastreador`;
ALTER TABLE `rastreio` 
CHANGE COLUMN `rastreador_codigo` `rastreador_codigo` VARCHAR(20) NOT NULL;
ALTER TABLE `rastreio` 
ADD CONSTRAINT `fk_rastreio_rastreador`
  FOREIGN KEY (`rastreador_codigo`)
  REFERENCES `rastreador` (`codigo`)
  ON DELETE RESTRICT
  ON UPDATE RESTRICT;

-- Altera FK da tabela RASTREIO_ATUAL
ALTER TABLE `rastreio_atual` 
DROP FOREIGN KEY `fk_rastreio_atual_rastreador`;
ALTER TABLE `rastreio_atual` 
CHANGE COLUMN `rastreador_codigo` `rastreador_codigo` VARCHAR(20) NOT NULL DEFAULT '';
ALTER TABLE `rastreio_atual` 
ADD CONSTRAINT `fk_rastreio_atual_rastreador`
  FOREIGN KEY (`rastreador_codigo`)
  REFERENCES `rastreador` (`codigo`)
  ON DELETE RESTRICT
  ON UPDATE RESTRICT;

-- Ativa as Foreign Keys
SET FOREIGN_KEY_CHECKS=1;

-- Insere os registros necessários
INSERT INTO `rastreador_marca` (`nome`, `ativo`) VALUES ('Mobile', 'S');
INSERT INTO `rastreador_modelo` (`rastreador_marca_id`, `nome`, `ativo`) VALUES ('3', 'Traccar', 'S');

-- Altera a PK da tabela rastreador
ALTER TABLE `rastreador` 
DROP PRIMARY KEY,
ADD PRIMARY KEY (`codigo`);

-- Atualiza a versão
INSERT INTO `_versao` (`versao`,`atualizado_em`) VALUES ('0010', NOW());
