[
  {
    "type": "create_table",
    "description": "Create QuickBooks sync log table for each store",
    "database": "{{store}}",
    "check_query": "SHOW TABLES LIKE 'qb_sync_log'",
    "sql": "CREATE TABLE `qb_sync_log` (\n  `id` INT(11) NOT NULL AUTO_INCREMENT,\n  `syncDate` DATE NOT NULL COMMENT 'The business date being synced',\n  `syncType` ENUM('daily_close', 'manual', 'retry') NOT NULL DEFAULT 'daily_close',\n  `status` ENUM('pending', 'processing', 'success', 'failed', 'partial') NOT NULL DEFAULT 'pending',\n  `journalEntryId` VARCHAR(50) NULL COMMENT 'QuickBooks journal entry ID if created',\n  `journalEntryDocNum` VARCHAR(50) NULL COMMENT 'Journal entry document number',\n  `requestPayload` JSON NULL COMMENT 'The data sent to QuickBooks',\n  `responsePayload` JSON NULL COMMENT 'Response from QuickBooks',\n  `errorMessage` TEXT NULL COMMENT 'Error details if failed',\n  `retryCount` INT(11) NOT NULL DEFAULT 0,\n  `syncedBy` INT(11) NULL COMMENT 'User ID who initiated manual sync',\n  `startedAt` DATETIME NULL,\n  `completedAt` DATETIME NULL,\n  `createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uk_sync_date` (`syncDate`, `syncType`),\n  INDEX `idx_status` (`status`),\n  INDEX `idx_created` (`createdAt`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Tracks QuickBooks sync history'"
  }
]
