CREATE TABLE IF NOT EXISTS blocos_votacao ( id INT AUTO_INCREMENT PRIMARY KEY, sessao_id INT NOT NULL, titulo VARCHAR(255) NOT NULL DEFAULT 'Votação em Bloco', status ENUM('rascunho','leitura','votacao','encerrado') NOT NULL DEFAULT 'rascunho', criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, iniciado_leitura_em DATETIME NULL, iniciado_votacao_em DATETIME NULL, encerrado_em DATETIME NULL, criado_por INT NULL, KEY (sessao_id), KEY (status) ); CREATE TABLE IF NOT EXISTS blocos_votacao_itens ( id INT AUTO_INCREMENT PRIMARY KEY, bloco_id INT NOT NULL, sessao_materia_id INT NOT NULL, ordem INT NOT NULL DEFAULT 0, UNIQUE KEY uniq_bloco_item (bloco_id, sessao_materia_id), KEY (bloco_id), KEY (sessao_materia_id) ); -- Votos do bloco (um por vereador presente) CREATE TABLE IF NOT EXISTS blocos_votacao_votos ( id INT AUTO_INCREMENT PRIMARY KEY, bloco_id INT NOT NULL, vereador_id INT NOT NULL, voto ENUM('sim','nao','abstencao') NULL, votou_em DATETIME NULL, UNIQUE KEY uniq_voto (bloco_id, vereador_id), KEY (bloco_id), KEY (vereador_id) );