[
  {
    "type": "create_table",
    "description": "Create mobileSigninSignatures table for signature capture storage",
    "database": "{{store}}",
    "check_query": "SHOW TABLES LIKE 'mobileSigninSignatures'",
    "sql": "CREATE TABLE `mobileSigninSignatures` (\n  `signatureId` INT(11) NOT NULL AUTO_INCREMENT,\n  `sessionId` VARCHAR(36) NOT NULL COMMENT 'Links to mobileSigninSessions',\n  `buyId` INT(11) NOT NULL COMMENT 'Links to buyQueue.buyID',\n  `customerId` INT(11) NOT NULL COMMENT 'Customer who signed',\n  `filePath` VARCHAR(255) NULL COMMENT 'Relative path to PNG file',\n  `fileHash` VARCHAR(64) NULL COMMENT 'SHA256 hash for integrity',\n  `signatureType` ENUM('canvas', 'checkbox_fallback') NOT NULL DEFAULT 'canvas' COMMENT 'Type of signature captured',\n  `signedAt` DATETIME NOT NULL COMMENT 'When signature was captured',\n  `ipAddress` VARCHAR(45) NOT NULL COMMENT 'IP address at signing',\n  `termsVersion` VARCHAR(20) NOT NULL COMMENT 'Version of terms signed',\n  `retentionExpiresAt` DATE NOT NULL COMMENT 'signedAt + 7 years retention',\n  PRIMARY KEY (`signatureId`),\n  INDEX `idx_buyid` (`buyId`),\n  INDEX `idx_sessionid` (`sessionId`),\n  INDEX `idx_retention` (`retentionExpiresAt`),\n  CONSTRAINT `fk_signature_session` FOREIGN KEY (`sessionId`) REFERENCES `mobileSigninSessions` (`sessionId`) ON DELETE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Digital signature records for mobile sign-in'"
  }
]
