-- 53_time_punches_client_operation_id.sql — chave da operação de registro (idempotência)
SET NAMES utf8mb4;

SET @col := (
  SELECT COUNT(*) FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'time_punches' AND COLUMN_NAME = 'client_operation_id'
);
SET @q := IF(@col = 0,
  'ALTER TABLE `time_punches` ADD COLUMN `client_operation_id` VARCHAR(80) NULL DEFAULT NULL, ADD UNIQUE KEY `uk_time_punches_client_operation` (`tenant_id`, `employee_id`, `client_operation_id`)',
  'SELECT 1');
PREPARE stmt FROM @q;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
