[
  {
    "type": "alter_table",
    "description": "Modify ccToken column to TEXT for larger OAuth tokens",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccToken' AND DATA_TYPE = 'text'",
    "sql": "ALTER TABLE stores MODIFY COLUMN ccToken TEXT NULL"
  },
  {
    "type": "alter_table",
    "description": "Modify ccAPI column to VARCHAR(255) for client ID",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccAPI' AND CHARACTER_MAXIMUM_LENGTH = 255",
    "sql": "ALTER TABLE stores MODIFY COLUMN ccAPI VARCHAR(255) NULL"
  },
  {
    "type": "alter_table",
    "description": "Add ccRefreshToken column for OAuth refresh token",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccRefreshToken'",
    "sql": "ALTER TABLE stores ADD COLUMN ccRefreshToken TEXT NULL AFTER ccToken"
  },
  {
    "type": "alter_table",
    "description": "Add ccTokenExpiration column for token expiry tracking",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccTokenExpiration'",
    "sql": "ALTER TABLE stores ADD COLUMN ccTokenExpiration DATETIME NULL AFTER ccRefreshToken"
  },
  {
    "type": "alter_table",
    "description": "Add ccEnabled column to enable/disable integration",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccEnabled'",
    "sql": "ALTER TABLE stores ADD COLUMN ccEnabled TINYINT(1) NOT NULL DEFAULT 0 AFTER ccTokenExpiration"
  },
  {
    "type": "alter_table",
    "description": "Expand ccList column to VARCHAR(50) for UUID list IDs",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'stores' AND COLUMN_NAME = 'ccList' AND CHARACTER_MAXIMUM_LENGTH >= 50",
    "sql": "ALTER TABLE stores MODIFY COLUMN ccList VARCHAR(50) NULL"
  }
]
