[
  {
    "type": "alter_table",
    "description": "Add concept column to brands table with default pc",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'brands' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `brands` ADD COLUMN `concept` VARCHAR(5) NOT NULL DEFAULT 'pc' FIRST"
  },
  {
    "type": "alter_table",
    "description": "Remove auto_increment from brands.id and change PK to composite (concept, id)",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'brands' AND INDEX_NAME = 'PRIMARY' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `brands` MODIFY COLUMN `id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY (`concept`, `id`)"
  },
  {
    "type": "alter_table",
    "description": "Drop legacy FK constraint on subcategories.catID BEFORE changing categories PK (app-level validation per ADR-4)",
    "database": "kiosk_sales",
    "sql": "ALTER TABLE `subcategories` DROP FOREIGN KEY IF EXISTS `subcategories_ibfk_1`"
  },
  {
    "type": "alter_table",
    "description": "Add concept column to categories table with default pc",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'categories' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `categories` ADD COLUMN `concept` VARCHAR(5) NOT NULL DEFAULT 'pc' FIRST"
  },
  {
    "type": "alter_table",
    "description": "Remove auto_increment from categories.id and change PK to composite (concept, id)",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'categories' AND INDEX_NAME = 'PRIMARY' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `categories` MODIFY COLUMN `id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY (`concept`, `id`)"
  },
  {
    "type": "alter_table",
    "description": "Add concept column to subcategories table with default pc",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'subcategories' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `subcategories` ADD COLUMN `concept` VARCHAR(5) NOT NULL DEFAULT 'pc' FIRST"
  },
  {
    "type": "alter_table",
    "description": "Remove auto_increment from subcategories.id and change PK to composite (concept, id)",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'subcategories' AND INDEX_NAME = 'PRIMARY' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `subcategories` MODIFY COLUMN `id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY (`concept`, `id`)"
  },
  {
    "type": "alter_table",
    "description": "Add concept column to sizes table with default pc",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'sizes' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `sizes` ADD COLUMN `concept` VARCHAR(5) NOT NULL DEFAULT 'pc' FIRST"
  },
  {
    "type": "alter_table",
    "description": "Remove auto_increment from sizes.id and change PK to composite (concept, id)",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'sizes' AND INDEX_NAME = 'PRIMARY' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `sizes` MODIFY COLUMN `id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY (`concept`, `id`)"
  },
  {
    "type": "alter_table",
    "description": "Add concept column to departments table with default pc",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'departments' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `departments` ADD COLUMN `concept` VARCHAR(5) NOT NULL DEFAULT 'pc' FIRST"
  },
  {
    "type": "alter_table",
    "description": "Remove auto_increment from departments.id and change PK to composite (concept, id)",
    "database": "kiosk_sales",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_sales' AND TABLE_NAME = 'departments' AND INDEX_NAME = 'PRIMARY' AND COLUMN_NAME = 'concept'",
    "sql": "ALTER TABLE `departments` MODIFY COLUMN `id` INT(11) NOT NULL, DROP PRIMARY KEY, ADD PRIMARY KEY (`concept`, `id`)"
  }
]
