-- Script para alterar a tabela municipios_resultados_eleitorais
-- Excluir todas as colunas existentes e recriar com os novos campos do CSV municipios_resultados_eleitorais_2022_2024.csv

ALTER TABLE municipios_resultados_eleitorais
  DROP COLUMN nm_municipio,
  DROP COLUMN turno,
  DROP COLUMN id_eleicao,
  DROP COLUMN tipo_eleicao,
  DROP COLUMN data_eleicao,
  DROP COLUMN sigla_uf,
  DROP COLUMN sigla_uf_nome,
  DROP COLUMN municipio_nome,
  DROP COLUMN id_municipio_tse,
  DROP COLUMN municipio_tse_nome,
  DROP COLUMN cargo,
  DROP COLUMN aptos,
  DROP COLUMN secoes,
  DROP COLUMN secoes_agregadas,
  DROP COLUMN aptos_totalizadas,
  DROP COLUMN secoes_totalizadas,
  DROP COLUMN comparecimento,
  DROP COLUMN abstencoes,
  DROP COLUMN votos_validos,
  DROP COLUMN votos_brancos,
  DROP COLUMN votos_nulos,
  DROP COLUMN votos_nominais,
  DROP COLUMN votos_legenda,
  DROP COLUMN proporcao_comparecimento,
  DROP COLUMN proporcao_votos_validos,
  DROP COLUMN proporcao_votos_brancos,
  DROP COLUMN proporcao_votos_nulos;


ALTER TABLE municipios_resultados_eleitorais
  ADD COLUMN ano YEAR NOT NULL,
  ADD COLUMN turno INT DEFAULT NULL,
  ADD COLUMN id_eleicao INT DEFAULT NULL,
  ADD COLUMN tipo_eleicao VARCHAR(50) DEFAULT NULL,
  ADD COLUMN data_eleicao DATE DEFAULT NULL,
  ADD COLUMN sigla_uf CHAR(2) DEFAULT NULL,
  ADD COLUMN sigla_uf_nome VARCHAR(50) DEFAULT NULL,
  ADD COLUMN id_municipio INT DEFAULT NULL,
  ADD COLUMN id_municipio_nome VARCHAR(100) DEFAULT NULL,
  ADD COLUMN id_municipio_tse INT DEFAULT NULL,
  ADD COLUMN id_municipio_tse_nome VARCHAR(100) DEFAULT NULL,
  ADD COLUMN cargo VARCHAR(50) DEFAULT NULL,
  ADD COLUMN aptos INT DEFAULT NULL,
  ADD COLUMN secoes INT DEFAULT NULL,
  ADD COLUMN secoes_agregadas INT DEFAULT NULL,
  ADD COLUMN aptos_totalizadas INT DEFAULT NULL,
  ADD COLUMN secoes_totalizadas INT DEFAULT NULL,
  ADD COLUMN comparecimento INT DEFAULT NULL,
  ADD COLUMN abstencoes INT DEFAULT NULL,
  ADD COLUMN votos_validos INT DEFAULT NULL,
  ADD COLUMN votos_brancos INT DEFAULT NULL,
  ADD COLUMN votos_nulos INT DEFAULT NULL,
  ADD COLUMN votos_nominais INT DEFAULT NULL,
  ADD COLUMN votos_legenda INT DEFAULT NULL,
  ADD COLUMN proporcao_comparecimento DECIMAL(5,2) DEFAULT NULL,
  ADD COLUMN proporcao_votos_validos DECIMAL(5,2) DEFAULT NULL,
  ADD COLUMN proporcao_votos_brancos DECIMAL(5,2) DEFAULT NULL,
  ADD COLUMN proporcao_votos_nulos DECIMAL(5,2) DEFAULT NULL;

-- Criar chave estrangeira para relacionar id_municipio com municipios.codigo_ibge
ALTER TABLE municipios_resultados_eleitorais
  ADD CONSTRAINT fk_municipios_resultados_ibge
  FOREIGN KEY (id_municipio) REFERENCES municipios(codigo_ibge)
  ON DELETE SET NULL
  ON UPDATE CASCADE;
