[
  {
    "type": "alter_table",
    "description": "Add optout_type column to loyaltyDoNotTextList for granular opt-out preferences",
    "database": "{{central}}",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'loyaltyDoNotTextList' AND COLUMN_NAME = 'optout_type'",
    "sql": "ALTER TABLE `loyaltyDoNotTextList` ADD COLUMN `optout_type` enum('all','marketing') NOT NULL DEFAULT 'all' COMMENT 'Type of opt-out: all messages or marketing only' AFTER `phone`"
  },
  {
    "type": "alter_table",
    "description": "Add optout_source column to loyaltyDoNotTextList to track how opt-out was registered",
    "database": "{{central}}",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'loyaltyDoNotTextList' AND COLUMN_NAME = 'optout_source'",
    "sql": "ALTER TABLE `loyaltyDoNotTextList` ADD COLUMN `optout_source` enum('sms','admin','api') NOT NULL DEFAULT 'sms' COMMENT 'Source of opt-out: sms reply, admin action, or api call' AFTER `optout_type`"
  },
  {
    "type": "alter_table",
    "description": "Add updated_at column to loyaltyDoNotTextList for change tracking",
    "database": "{{central}}",
    "check_query": "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'loyaltyDoNotTextList' AND COLUMN_NAME = 'updated_at'",
    "sql": "ALTER TABLE `loyaltyDoNotTextList` ADD COLUMN `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp() COMMENT 'Last modification timestamp'"
  }
]
