[
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.scheduledTotalHours to DECIMAL(8,4) for sub-15-min payroll precision",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'scheduledTotalHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `scheduledTotalHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Total scheduled hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.scheduledRegularHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'scheduledRegularHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `scheduledRegularHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Scheduled regular hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.scheduledOvertimeHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'scheduledOvertimeHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `scheduledOvertimeHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Scheduled overtime hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.scheduledDoubletimeHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'scheduledDoubletimeHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `scheduledDoubletimeHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Scheduled double-time hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.totalHours to DECIMAL(8,4) — second-precision payroll hours",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'totalHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `totalHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Total actual worked hours (net of unpaid breaks)'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.regularHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'regularHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `regularHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Actual regular hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.overtimeHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'overtimeHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `overtimeHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Actual overtime hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.doubletimeHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'doubletimeHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `doubletimeHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Actual double-time hours'"
  },
  {
    "type": "alter_table",
    "description": "Widen scheduleTimesheets.unpaidBreakHours to DECIMAL(8,4)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'scheduleTimesheets' AND COLUMN_NAME = 'unpaidBreakHours' AND NUMERIC_SCALE = 4",
    "sql": "ALTER TABLE `scheduleTimesheets` MODIFY COLUMN `unpaidBreakHours` DECIMAL(8,4) NOT NULL DEFAULT 0.0000 COMMENT 'Total unpaid break hours (not deducted from totalHours for payroll)'"
  }
]
