[
  {
    "type": "create_table",
    "description": "Create ccSyncLog table to track individual contact syncs",
    "database": "kiosk_buykiosk",
    "sql": "CREATE TABLE IF NOT EXISTS ccSyncLog (id INT AUTO_INCREMENT PRIMARY KEY, typeNum VARCHAR(10) NOT NULL, email VARCHAR(255) NOT NULL, firstName VARCHAR(100) NULL, lastName VARCHAR(100) NULL, listId VARCHAR(50) NULL, status ENUM('success', 'failed', 'pending') NOT NULL DEFAULT 'success', errorMessage TEXT NULL, syncedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, INDEX idx_typeNum (typeNum), INDEX idx_syncedAt (syncedAt), INDEX idx_typeNum_syncedAt (typeNum, syncedAt)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"
  },
  {
    "type": "create_table",
    "description": "Create ccSyncDaily table for daily aggregated stats",
    "database": "kiosk_buykiosk",
    "sql": "CREATE TABLE IF NOT EXISTS ccSyncDaily (id INT AUTO_INCREMENT PRIMARY KEY, typeNum VARCHAR(10) NOT NULL, syncDate DATE NOT NULL, successCount INT NOT NULL DEFAULT 0, failedCount INT NOT NULL DEFAULT 0, createdAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updatedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY uk_typeNum_date (typeNum, syncDate), INDEX idx_syncDate (syncDate)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"
  },
  {
    "type": "create_table",
    "description": "Create ccLostEmails table for failed syncs requiring manual review",
    "database": "kiosk_buykiosk",
    "sql": "CREATE TABLE IF NOT EXISTS ccLostEmails (id INT AUTO_INCREMENT PRIMARY KEY, typeNum VARCHAR(10) NOT NULL, email VARCHAR(255) NOT NULL, firstName VARCHAR(100) NULL, lastName VARCHAR(100) NULL, errorMessage TEXT NULL, createdAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, resolved TINYINT(1) NOT NULL DEFAULT 0, resolvedAt TIMESTAMP NULL, INDEX idx_typeNum (typeNum), INDEX idx_resolved (resolved)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4"
  }
]
