[
  {
    "type": "alter_table",
    "description": "Clean up any NULL deviceId values before adding NOT NULL constraint",
    "database": "kiosk_users",
    "check_query": "SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_users' AND TABLE_NAME = 'userDeviceTokens' AND COLUMN_NAME = 'deviceId' AND IS_NULLABLE = 'NO'",
    "sql": "DELETE FROM `userDeviceTokens` WHERE `deviceId` IS NULL OR TRIM(`deviceId`) = ''"
  },
  {
    "type": "alter_table",
    "description": "Add NOT NULL constraint to deviceId column for upsert integrity",
    "database": "kiosk_users",
    "check_query": "SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_users' AND TABLE_NAME = 'userDeviceTokens' AND COLUMN_NAME = 'deviceId' AND IS_NULLABLE = 'NO'",
    "sql": "ALTER TABLE `userDeviceTokens` MODIFY `deviceId` VARCHAR(100) NOT NULL"
  }
]
