CREATE TABLE IF NOT EXISTS comissoes ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(150) NOT NULL, descricao TEXT NULL, status ENUM('ativa','inativa') NOT NULL DEFAULT 'ativa', created_at DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS comissao_membros ( id INT AUTO_INCREMENT PRIMARY KEY, comissao_id INT NOT NULL, usuario_id INT NOT NULL, -- ✅ referencia usuarios.id funcao ENUM('Presidente','Relator','Membro') NOT NULL DEFAULT 'Membro', ativo TINYINT(1) NOT NULL DEFAULT 1, UNIQUE KEY uk_comissao_usuario (comissao_id, usuario_id), CONSTRAINT fk_cm_comissao FOREIGN KEY (comissao_id) REFERENCES comissoes(id) ON DELETE CASCADE, CONSTRAINT fk_cm_usuario FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS reunioes_comissoes ( id INT AUTO_INCREMENT PRIMARY KEY, comissao_id INT NOT NULL, titulo VARCHAR(200) NOT NULL, data_reuniao DATE NOT NULL, hora_inicio TIME NULL, hora_fim TIME NULL, local VARCHAR(160) NULL, pauta TEXT NULL, ata TEXT NULL, status ENUM('agendada','realizada','cancelada') NOT NULL DEFAULT 'agendada', criado_por INT NULL, -- ✅ usuario que criou created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NULL, CONSTRAINT fk_rc_comissao FOREIGN KEY (comissao_id) REFERENCES comissoes(id) ON DELETE RESTRICT, CONSTRAINT fk_rc_user FOREIGN KEY (criado_por) REFERENCES usuarios(id) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS reuniao_participantes ( id INT AUTO_INCREMENT PRIMARY KEY, reuniao_id INT NOT NULL, usuario_id INT NOT NULL, -- ✅ referencia usuarios.id presente TINYINT(1) NOT NULL DEFAULT 1, UNIQUE KEY uk_reuniao_usuario (reuniao_id, usuario_id), CONSTRAINT fk_rp_reuniao FOREIGN KEY (reuniao_id) REFERENCES reunioes_comissoes(id) ON DELETE CASCADE, CONSTRAINT fk_rp_usuario FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE comissao_membros MODIFY funcao ENUM('Presidente','Vice-Presidente','Relator','Membro') NOT NULL DEFAULT 'Membro';